[ANN] Yet another Windows installer

L

Luis Lavena

(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,
 
P

Phillip Gawlowski

Luis said:
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. :|
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. :/

-- Phillip Gawlowski
 
L

Luis Lavena

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

Took me a few days to recover from that :p
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 :)

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.
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. :/

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,
 
P

Phillip Gawlowski

Luis said:
Took me a few days to recover from that :p

Well, I haven't yet noticed its loss yet, so.. :p
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 :)

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. ;)

-- Phillip Gawlowski
 
L

Luis Lavena

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) ;-)
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 ;-)
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.

http://en.wikipedia.org/wiki/WiX#Tallow.2FHeat
Ah, well, maybe some kind soul will create an installer with Ruby as
scripting language. ;)

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

Regards,
 
P

Phillip Gawlowski

Luis said:
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) ;-)

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. :)
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 ;-)

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.

http://en.wikipedia.org/wiki/WiX#Tallow.2FHeat

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 :p

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 Gawlowski
 
M

Michal Suchanek

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.

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

Thanks

Michal
 
M

Michal Suchanek

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).

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
 
L

Luis Lavena

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 :)
- 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... :-$
- 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.

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,
 
M

Michal Suchanek

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.
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 :)

Well, I consider myself sort of developer but I haven't used Rake so far.
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... :-$

That's why the script would be helpful ;-)
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
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

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.
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.

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.
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 ;-)

OK, I will try to ask at RF.

Thanks

Michal
 
M

Michal Suchanek

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 ;-)
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
 
L

Luis Lavena

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 :p
That's why the script would be helpful ;-)

Hmm, a script that just fire 'rake' don't sound too useful :p
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,
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,285
Messages
2,571,416
Members
48,108
Latest member
Virus9283

Latest Threads

Top