[ANN] RubyInstaller: Building installers story and news

Hey guys,

Sometimes is good to be wrong.

Back in 2008 I said that going MSI and WiX was going to be the best
option from the “Administrative point of view”

At the end, I ended neglecting the XML files that WiX uses on every
bumping of version of Ruby, all that because updating those XML
failed.

I take the responsibility of that, and was one of the things that
slowed (to snail speed would say) the development and release cycle of
Ruby Installer.

After my last weekend struggling with WiX, and even contributions by
Bosko with some WiX changes to make it work, I decided to drop it.

As replacement, I’ve decided to go back to the basic and the tool I
know best: InnoSetup.

Hacked some basic scripts and then updated those to do more stuff
automatically. Hooked back in Rake and…

We have preview1!!!

What to expect from this version:

After installation, you can access Ruby from the program folder at the
Start menu of Windows.

From there, you can:

  • Start an Interactive Ruby console (IRB), from where you can try
    quick Ruby code.
  • Start a command prompt with Ruby in the PATH. This is needed since
    the installer do not modify your Windows PATH to not conflict with
    previous installation.
  • Access documentation links from Ruby-Doc.

Things to come soon:

  • Offer an option to add Ruby to your PATH.
  • Integrate Programming Ruby book (CHM)
  • Integrate Ruby documentation in searchable way (CHM)

Quick FAQ:

Q: Why you uploaded those to rubyinstaller.org and not RubyForge?
A: Because are preview versions and very very alpha state. Even they
worked for me, doesn’t mean will work on every environment. Wanted to
avoid all end-users download it and break their current environments.

Q: Can I install Ruby 1.8 and 1.9 at the same time?
A: Yes, Ruby 1.8 will be installed by default to C:\Ruby, while 1.9
will install into C:\Ruby19. This is by default since 1.8 and 1.9
offer a different API and will interfere with some RubyGems.

Q: Why the installers are so small?
A: Because they only contains Ruby and RubyGems

Q: What happened to all these nice things One-Click Installer had
bundled?
A: These are no longer integrated, long to explain

Q: Why on earth no? Please explain
A: This version of Ruby has been built with MinGW (GCC), not Visual
Studio (VC6).

Original One-Click installers used VC6, a 12 years old compiler.

In the original installers, lot of gems and packages where bundled.
Some of those packages hasn’t been updated in years. Some of those
lacks testing tools to ensure they work as expected with this version
of Ruby.

Instead of invest RubyInstaller Team’s time on fixing those, we
decided to invest our time improving the user experience on Windows.

We acknowledge some gems will not work, and some others will not
install. That’s why we provided a Development Kit and plan ease the
process.

The Development Kit contains the needed tools to compile or
successfully install gems that are not ready for this version of Ruby.
You can find the downloads in the link above.

Q: Got it, but what if I want those gems works now?
A: If they don’t work out of the box with Development Kit installed,
please contact the gem Author and make them aware of this
compatibility issue.

Q: I’ve tried to contact the gem author and he said he don’t have
windows to build a gem for me.
A: That’s understandable. We can’t force everyone have a Windows
license, a virtual machine and the time to release Windows binaries of
those gems.

For that purpose, RubyInstaller Team created “rake-compiler” tool.

http://rubyforge.org/projects/rake-compiler

With this tool they can compile and build gems for Windows users from
Linux or Mac OSX operating systems.

There are already other authors using it, so they can take a look to
those references for implementation:

http://wiki.github.com/luislavena/rake-compiler/projects-using-rake-compiler

Q: Cool, going to test it, what to do if I find a bug or suggestion?
A: Please submit those to RubyForge tracker:

http://rubyforge.org/tracker/?group_id=167

Q: What if I want to contribute to it?
A: You’re welcome!

Documentation, patches, improve the process, all those are really
appreciated. Please join us at rubyinstaller-devel mailing list:

http://rubyforge.org/mailman/listinfo/rubyinstaller-devel

Introduce yourself and what would you like to get improved, done or
fixed.

We are a friendly bunch of users and developers that care about Ruby
on Windows :slight_smile:

Q: Thank you!
A: Thanks to you! And don’t forget to Vote for the website contest:

http://blog.mmediasys.com/2009/06/23/rubyinstaller-get-ready-to-vote/

Last but no least, I’ll like to the people that contributed with
patches, code, ideas and feedback during this process. In no special
order:

Curt H.
Gordon T.
Lars C.
Roger P.
Timothy Elliott
Bosko I.
James T.
Fabio Akita
Dr Nic Williams

Cheers,

On Mon, Jun 29, 2009 at 01:01:37AM +0900, Luis L. wrote:

Hey guys,

Sometimes is good to be wrong.

Back in 2008 I said that going MSI and WiX was going to be the best
option from the “Administrative point of view”

At the end, I ended neglecting the XML files that WiX uses on every
bumping of version of Ruby, all that because updating those XML
failed.

XML files? There’s a gem for that. :wink:

Hacked some basic scripts and then updated those to do more stuff
automatically. Hooked back in Rake and…

We have preview1!!!

Downloads

Thank you! Next time I have to boot parallels, I will cuss at my
computer less. My girlfriend appreciates you.

We have preview1!!!

Downloads

Great!

Maybe a quick add to the “Quick FAQ” stating that although not all of
the things in the original OCI are integrated, the new MingW-based OCI
includes the following prebuilt DLL’s:

gdbm3.dll
libeay32.dll
libiconv2.dll
libssl32.dll
pdcurses.dll
zlib1.dll

…which makes things work well after initial installation. No hunting
for and manually installing needed DLLs…Yea!

Also, maybe a quick note summarizing the features these DLLs enable in
an out-of-the-box install via the new OCI?

Nice work…don’t sell your efforts short in the FAQ! :slight_smile:

Things to come soon:

  • Offer an option to add Ruby to your PATH.
  • Integrate Programming Ruby book (CHM)
  • Integrate Ruby documentation in searchable way (CHM)

Maybe an option to install devkit at the same time with a note in the
installer reminding us to update fstab if needed…or…maybe fstab is
templated to use info from the install dir chosen by the user.

Thanks again for all your efforts!!!

Jon

On Mon, Jun 29, 2009 at 4:21 PM, Jon[email protected] wrote:

…which makes things work well after initial installation. No hunting for and manually installing needed DLLs…Yea!

Well, I’m not a native english speaker, so if you can write something
down in the wiki page:

http://wiki.github.com/oneclick/rubyinstaller/

We all will really appreciate it.

Also, maybe a quick note summarizing the features these DLLs enable in an out-of-the-box install via the new OCI?

Well, besides that works out of the box? :smiley:

Things to come soon:

  • Offer an option to add Ruby to your PATH.
  • Integrate Programming Ruby book (CHM)
  • Integrate Ruby documentation in searchable way (CHM)

Maybe an option to install devkit at the same time with a note in the installer reminding us to update fstab if needed…or…maybe fstab is templated to use info from the install dir chosen by the user.

The DevKit will be released as a gem. Is going to use the exact same
recipes that we internally use to download GCC and the tools to
install in your computer those and make them available to your Ruby
installations (which could be 1.8 AND 1.9).

More to come on this next weekend :smiley:

Thanks again for all your efforts!!!

Thanks to everybody that keep caring about this.

Cheers,

Awesome, thanks!

The DevKit will be released as a gem.

In addition to DevKit-The-Gem, I think there’s a lot of goodness with
the installer being able to optionally pre-install the DevKit gem at the
same time as the base Ruby install.

…everything all at once with One Click rather than multiple steps of
One Click + open up command prompt + “gem install devkit”. Lazy, I know
:slight_smile:

I’ll move this thread over to rubyinstaller-devel…