Creates .exe file that embeds application source, library and GEM files within the executable.
Ruby C#
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



<< Work in progress >>

IronRubyAppPackager is a solution that allows you to ‘compile’1 your application and its libraries into a single standalone .exe file that embeds all of the application source, library and GEM files in embedded resources (compressed) within the executable.

The executable runs using IronRuby.

IronRubyAppPackager is supplied as a simple Ruby application. However it can be ‘dogfooded’. i.e. It can be run on itself and generate the executable IronRubyAppPackager.exe, simplifying deployment. See here.

Example programs are included in this repository for guidance. In particular there is a very simple [[DRB test]] and a [[Sample Sinatra App]].

Run-time dependencies:

  • .Net version 2 needs to be installed on any PC that runs the executable (at the moment)
  • IronRuby (or you can just copy the run-time DLLs to the folder containing the executable)

Package-time dependencies

How do I use it?

Given an existing Ruby application (that runs with IronRuby), just run ir -rvendorize app.rb.

This will copy any require, load or autoload files into the folder .\_vendor_.

You can run the program several times with different options if the required files depend on the options.

Or just run your tests…

Then run IRPackager which will generate a C# project that embeds your source files and _vendor_ files. It will build the project and deliver you a nice shiny .exe file.


  • Depends on Serfs and IREmbeddedApp, which don’t support all File/IO operations on embedded resources yet. But there is enough to run many apps, and work is continuing. Feedback would be welcomed about areas that are not yet implemented.

Not what you are looking for?



Copyright © 2010 David Lake (rifraf →

Released under the MIT license. See LICENSE file for details.

1 As always, phrases that are ‘quoted’ should be interpreted as having the prefix ‘not’2. IronRubyAppPackager does not compile Ruby. It just looks like it’s compiled, and behaves like it’s compiled… Quack!

2 Recursively of course