May2008
28

Less MSIèrables - Extract the content of a .MSI file

by nmgomes

Yesterday, I decided to spent some time reviewing the WindowsLiveWriter plugin gallery and search for a replacer for Steve Dunn CodeFormatter plugin. I've been using this plugin since the beginning of the year but it reveal some problems composing the Html.

My friend Paulo told me about Douglas Stockwell "Paste from Visual Studio" plugin and I decided to try this one.

I download the vspaste.msi and tried to install it without success. As far as I understood (I didn't take this to depth) the .MSI was looking for a specific registry entry and since I'm using the portable version of WLW the key wasn't found.

I knew that WLW plugins don't required any special install procedure, they just need to be in the plugins folder.

I decided then to extract the .MSI content in order to be able to copy the assembly to the correct folder in my flash drive.

Searching the web I found a little tool called "Less MSIèrables" that exactly feets my needs.

It's a free tool written in C# for .NET 1.1 that allow us to open an .MSI file, explore its contents, and extract selected items.

lessmsi

We can also run it from the command line.

Its not perfect and I found a few possible improvements:

  • GUI - adding Drag'n'Drop capability
  • GUI - adding a select/unselect all files checkbox
  • CPI - adding a -l option to list all files within a .MSI file
  • CPI - adding a -e option to extract a list of files

The good news is that author made the source code available, so anyone can extend the tool.

In conclusion, it's free, it's cool and I think I going use it many times in future, helping me to see if I really need to install a .MSI.

For those of you that prefer not to use free tools, Microsoft provides us with msiexec.exe tool. This one is available in Windows XP and higher and also allow us to extract .MSI files using the following syntax:

msiexec.exe /a vspaste.msi /qb TARGETDIR=c:\temp

Filed in: Tools