Saturday, 6 October 2012

LessMSI tool to extract MSI file contents (with C# REPL)

I really don't like to run *.msi install files, specially when all I want is to access a couple files (or assemblies) that are embeded in it, so a while back added the http://code.google.com/p/lessmsi/ tool to O2 which I have been using regularly to extract MSI files (if you look at some of the O2's API installers you will see this in action).

Today I needed to extract an MSI manually and since the LessMSI gui doesn't support drag n'drop I decided to quickly fix that and add that feature to the LessMSI GUI  :)

You can run this improved version of LessMSI from O2 or by downloading the 4.8Mb stand-alone file from Util - view and extract MSI files (using LessMSI) v1.0.exe , which when executed looks like this (after dropping an MSI in the DataGridView):


Note that this version also has a REPL menu, which you can use to script the LessGUI (and the data it holds)


Here is the code that creates the GUI and the stand-alone exe package: