Yet another Windows installer

On Mar 16, 2:12 pm, Phillip G. [email protected]
wrote:

(IMHO, it might be a great idea to switch to a more recent version of
Visual C all together, considering that the Express Edition is free, and
can produce non-/NET code, but that’s just my opinion).

Jumping late on this thread (been away in vacation trip).

Switching to VC8/VC9 or even VC7 requires recompilation of
dependencies to use the same CRT DLL. Search the list for posts about
this.

Been raised before, tried several times, and is impossible to
accomplish without loosing your brain in the process.

I think I will move the MinGW+MSYS building process one step further
and use the better Windows alternatives than traditional dependencies
(like win_iconv that _why commented previously).

You’re welcome to join us at One-Click Installer Developement List
(http://rubyforge.org/mailman/listinfo/rubyinstaller-devel).

Regarding NSIS, I’ll prefer move to MSI (Microsoft Installer) to
provide patches instead of full releases in the future.

Regards,

Luis L. wrote:

Switching to VC8/VC9 or even VC7 requires recompilation of
dependencies to use the same CRT DLL. Search the list for posts about
this.

Been raised before, tried several times, and is impossible to
accomplish without loosing your brain in the process.

I know. I’ve looked into that, and as you predicted, I lost my brain. :expressionless:

You’re welcome to join us at One-Click Installer Developement List
(http://rubyforge.org/mailman/listinfo/rubyinstaller-devel).

Thanks for reminding me. My subscription is being processed.

Regarding NSIS, I’ll prefer move to MSI (Microsoft Installer) to
provide patches instead of full releases in the future.

AFAIK, NSIS is capable of doing that, just no delta patches (i.e. the
whole file is distributed, and not just the differences).

However, NSIS’s syntax is giving me headaches. :confused:

– Phillip G.

On Mar 18, 5:38 pm, Phillip G. [email protected]
wrote:

Luis L. wrote:

Switching to VC8/VC9 or even VC7 requires recompilation of
dependencies to use the same CRT DLL. Search the list for posts about
this.

Been raised before, tried several times, and is impossible to
accomplish without loosing your brain in the process.

I know. I’ve looked into that, and as you predicted, I lost my brain. :expressionless:

Took me a few days to recover from that :stuck_out_tongue:

You’re welcome to join us at One-Click Installer Developement List
(http://rubyforge.org/mailman/listinfo/rubyinstaller-devel).

Thanks for reminding me. My subscription is being processed.

Great! I’m with the idea of use rubygems as official package maanger
for OCI, and make it more modular:

rubyinstaller-minimal: which ships with Ruby+Rubygems+DLL to make
extensions works

rubyinstaller-plus: provide local copy of the latest gems.

Regarding documenation, another user contributed the CHM version of
RDocs, which are searchable and use less disk space when
uncompressed :slight_smile:

For the time being I’m focusing on getting a new Ruby build with MinGW
+MSYS instead of VC6 one, since I want to cut dependency on
garbagecollect releases.

Regarding NSIS, I’ll prefer move to MSI (Microsoft Installer) to
provide patches instead of full releases in the future.

AFAIK, NSIS is capable of doing that, just no delta patches (i.e. the
whole file is distributed, and not just the differences).

It’s also possible create installer and patches with InnoSetup, but
one of the good things of MSI is that you distribute MSP that can be
automatically generated when you compare two versions of the same
installer (I’m talking of WiX Tools here).

However, NSIS’s syntax is giving me headaches. :confused:

Yeah, the people who create the installer scripting language have a
sadistic sense of humor… or they are too over simplified or they are
too over engineered to be actually useful.

Regards,

On Mar 18, 8:32 pm, Phillip G. [email protected]
wrote:

Regarding documenation, another user contributed the CHM version of
RDocs, which are searchable and use less disk space when
uncompressed :slight_smile:

That sounds like a great starting point and a good release plan.

Yes, but I’m focusing right now on getting ruby properly build with
MinGW… (link posted previously) – which seems to have a few
‘glitches’ that need to be fixed (help is welcome) :wink:

It’s also possible create installer and patches with InnoSetup, but
one of the good things of MSI is that you distribute MSP that can be
automatically generated when you compare two versions of the same
installer (I’m talking of WiX Tools here).

Ah, I didn’t know that. Which means, I’ll look into the WiX Tools again.

Been using WiX for several projects at office (not OSS) and works
great, the best part is that with 1 rake task you can generate
incremental updates without pain :wink:

Yeah, the people who create the installer scripting language have a
sadistic sense of humor… or they are too over simplified or they are
too over engineered to be actually useful.

Or they are Perl-damaged, what with all the sigils and magic variables…

I’ve tried to find a solution to dynamically gather files to create an
installer. I can’t make head nor tail out of the sample code I’ve found.

WiX Heat is good for that… it creates a WiX fragment definition that
you can include in a module and generate a installer from it.

Ah, well, maybe some kind soul will create an installer with Ruby as
scripting language. :wink:

Sounds like reinventing the wheel, but maybe someone could create a
friendlier DSL to use WiX… XML is making my eyes hurt :stuck_out_tongue:

Regards,

Luis L. wrote:

On Mar 18, 5:38 pm, Phillip G. [email protected]
wrote:

I know. I’ve looked into that, and as you predicted, I lost my brain. :expressionless:

Took me a few days to recover from that :stuck_out_tongue:

Well, I haven’t yet noticed its loss yet, so… :stuck_out_tongue:

uncompressed :slight_smile:
That sounds like a great starting point and a good release plan.

It’s also possible create installer and patches with InnoSetup, but
one of the good things of MSI is that you distribute MSP that can be
automatically generated when you compare two versions of the same
installer (I’m talking of WiX Tools here).

Ah, I didn’t know that. Which means, I’ll look into the WiX Tools again.

Yeah, the people who create the installer scripting language have a
sadistic sense of humor… or they are too over simplified or they are
too over engineered to be actually useful.

Or they are Perl-damaged, what with all the sigils and magic variables…

I’ve tried to find a solution to dynamically gather files to create an
installer. I can’t make head nor tail out of the sample code I’ve found.

Ah, well, maybe some kind soul will create an installer with Ruby as
scripting language. :wink:

– Phillip G.

Luis L. wrote:

Yes, but I’m focusing right now on getting ruby properly build with
MinGW… (link posted previously) – which seems to have a few
‘glitches’ that need to be fixed (help is welcome) :wink:

I’ll have to check with my build. I think it went seamlessly, but irb
made trouble with it’s prompt (or rather, lack there of).

What ever help I can provide, I will. :slight_smile:

Been using WiX for several projects at office (not OSS) and works
great, the best part is that with 1 rake task you can generate
incremental updates without pain :wink:

That’s definitely good news.

WiX Heat is good for that… it creates a WiX fragment definition that
you can include in a module and generate a installer from it.

WiX - Wikipedia

Thanks, I’ll check that out.

Sounds like reinventing the wheel, but maybe someone could create a
friendlier DSL to use WiX… XML is making my eyes hurt :stuck_out_tongue:

Well, reinventing the wheel can result in a much rounder wheel. But a
wrapper would be great (for as many installer solutions as possible,
IMO), and make life easier.

– Phillip G.

On 18/03/2008, Luis L. [email protected] wrote:

Jumping late on this thread (been away in vacation trip).
(like win_iconv that _why commented previously).

You’re welcome to join us at One-Click Installer Developement List
(http://rubyforge.org/mailman/listinfo/rubyinstaller-devel).

As Mailman does not like my email address ( I don’t know why but
Mailmen refuse to communicate with me at all) I will send the results
of trying to use the install3 zip archive here.

  • there is no script for running the rake task(s), and it might not be
    obvious how to run them for people who are not familiar with rake yet.

  • there is no default rake action, and one has to look into the
    recipes to find out what are the available actions (download, unpack,
    configure, compile, install)

  • rake aborts download action due to execution timeout - probably
    depends on download speed

  • bsdtar requires zlib1.dll which is not downloaded. This is not
    normally present in the system although it might be present if you put
    your ruby installation into PATH.

-there is some sort of error with directories. It appears the scripts
fail to create sandbox/ruby_build, and running configure fails because
the configure script is not found although it appears to be present.

Thanks

Michal

On 18/03/2008, Luis L. [email protected] wrote:

Jumping late on this thread (been away in vacation trip).
(like win_iconv that _why commented previously).

You’re welcome to join us at One-Click Installer Developement List
(http://rubyforge.org/mailman/listinfo/rubyinstaller-devel).

Regarding NSIS, I’ll prefer move to MSI (Microsoft Installer) to
provide patches instead of full releases in the future.

That would be great. Both because of the possibility to make patches
and the better MS integration.

Thanks

Michal

On 20/03/2008, Luis L. [email protected] wrote:

Visual C all together, considering that the Express Edition is free, and

Weird, are you already registered to other mailing lists in rubyforge?

Probably not. But I cannot subscribe to Debian lists either. And they
are all managed by MailMan so there seems to be a pattern.

The idea is “Use as much ruby as possible”, that means use Rake. We
need some Documentation Love :slight_smile:

Well, I consider myself sort of developer but I haven’t used Rake so
far.

On the original post I commented the task sequence, but since there is
no documentation… :blush:

That’s why the script would be helpful :wink:

  • rake aborts download action due to execution timeout - probably
    depends on download speed

Yeah, Sourcefor servers often timeout, no other alternative than “try
again”.
I do not get a download timeout or it is quite well obfuscated at
least. I get slow download of packages one after another and then I
get something like:

execution timed out
rake aborted

installation). But if you plan to
I installed the OCI but did not do anything to put the ruby bin
directory into my path, and the installer did not do it either. There
must be a zlib1.dll somewhere in your system but there’s none in mine.
It is quite common so it might be installed by some other software.

missing the directory as dependency.
Yes, I tried some tasks until I was sure there’s nothing that does not
produce any error but it might be that executing the tasks out of
order leaves some fallout.

Thanks

No, thank you for your time and comments!

Hope you can workaround the mailman issues (or mail directly to
rubyforge staff) and we can collaborate further.

Heh, MailMan is one of the most evil pieces of GNU software out there.
First it used to have broken web templates that rendered the text
nearly invisible for me (and these took years to fix, and even years
after they were fixed upstream they are still common on the web), and
now it refuses to send any email to me. If I was not convinced it is
just because it is a poorly developed piece of buggy code (that nobody
wants to touch, let alone upgrade, fearing it would explode) I would
think it hates me :wink:

OK, I will try to ask at RF.

Thanks

Michal

On Mar 20, 9:27 am, Michal S. [email protected] wrote:

and use the better Windows alternatives than traditional dependencies
(like win_iconv that _why commented previously).

You’re welcome to join us at One-Click Installer Developement List
(http://rubyforge.org/mailman/listinfo/rubyinstaller-devel).

As Mailman does not like my email address ( I don’t know why but
Mailmen refuse to communicate with me at all) I will send the results
of trying to use the install3 zip archive here.

Weird, are you already registered to other mailing lists in rubyforge?

  • there is no script for running the rake task(s), and it might not be
    obvious how to run them for people who are not familiar with rake yet.

Well the idea of installer3 is not being used by end-users, but by
developers of Ruby on Windows as “safe bootstrap” that can be
recreated from scratch without huge list of depepdencies to be
manually download, set and everything.

The idea is “Use as much ruby as possible”, that means use Rake. We
need some Documentation Love :slight_smile:

  • there is no default rake action, and one has to look into the
    recipes to find out what are the available actions (download, unpack,
    configure, compile, install)

I didn’t add one since was playing with the dependencies recipes. I’m
still not convinced this is the best layout for the code, and even
less for the actions I’m performing.

On the original post I commented the task sequence, but since there is
no documentation… :blush:

  • rake aborts download action due to execution timeout - probably
    depends on download speed

Yeah, Sourcefor servers often timeout, no other alternative than “try
again”.

  • bsdtar requires zlib1.dll which is not downloaded. This is not
    normally present in the system although it might be present if you put
    your ruby installation into PATH.

I have a exerb “rake.exe” that weights 600K and is the only executable
I need to bootstrap ruby (without requiring a previous ruby
installation). But if you plan to

-there is some sort of error with directories. It appears the scripts
fail to create sandbox/ruby_build, and running configure fails because
the configure script is not found although it appears to be present.

That’s because the task sequence is not performed as defined
originally. Can you provide the steps to recreate? maybe a task is
missing the directory as dependency.

Thanks

No, thank you for your time and comments!

Hope you can workaround the mailman issues (or mail directly to
rubyforge staff) and we can collaborate further.

Regards,

On Mar 20, 5:52 pm, Michal S. [email protected] wrote:

Well, I consider myself sort of developer but I haven’t used Rake so far.

I’m just used to do every repetitive task with Rake and I think other
developers will agree.

Anyway, I don’t feel very happy with the layout I got for this
project, since the separated task for every dependency are over-
engineered :stuck_out_tongue:

That’s why the script would be helpful :wink:

Hmm, a script that just fire ‘rake’ don’t sound too useful :stuck_out_tongue:

I do not get a download timeout or it is quite well obfuscated at
least. I get slow download of packages one after another and then I
get something like:

execution timed out
rake aborted

The error message you get can vary, that depends on the sourceforge
mirror you got. sorry about that.

The idea is that you don’t need to download the sources package again
unless you ‘clobber’ or nuke your downloads directory (rake clean will
only clean the sandbox)

I installed the OCI but did not do anything to put the ruby bin
directory into my path, and the installer did not do it either. There
must be a zlib1.dll somewhere in your system but there’s none in mine.
It is quite common so it might be installed by some other software.

If the installer didn’t add Ruby\bin into the PATH then you’re running
without administrative privileges or something like that.

I just added a README.txt file that roughly indicates zlib1.dll as
requirement.

Yes, I tried some tasks until I was sure there’s nothing that does not
produce any error but it might be that executing the tasks out of
order leaves some fallout.

To make you happy: the Rakefile now have a defaults (recipes/
defaults.rake) that:

download,
extract,
prepare,
configure,
compile and
install

The Ruby MinGW build into sandbox/ruby_mingw

Both changes are available in the bazaar branch and inside the zip
file.

Regards,

On 20/03/2008, Michal S. [email protected] wrote:

So at least this Mailman instance works. I did not exhaust all
filtering possibilities while searching for the confirmation email as
I had bad experience with Mailman previously. And it unfortunately
tends to be marked as spam so it is not easy to find.

Sorry about bothering you

Michal