I can say that I really hate Microsoft MSI installers because sometimes the installation would screw up so bad that I cannot even uninstall or reinstall the program. Most of the time the problem can be fixed by using Windows Installer CleanUp Utility but there are times when this tool doesn’t work at all and had to reinstall the whole Windows operating system because my client urgently needs to use the software.
There are some programmers that like to use MSI installers to pack their programs when the program doesn’t really need installation. I don’t want to have tons of program in my Program Files folder and also unnecessary registry entries. Let’s take Microsoft BootVis, a performance trace visualization utility that you can use with Windows XP systems as an example. The setup file is bootvis.msi and requires installation. After installation, there are only 4 files in C:\Program Files\Microsoft Bootvis. From the looks of it, I don’t really need to install the program and can actually run BootVis.exe from anywhere.
So here are some useful methods that you can use to view and extract contents of a MSI file.
When I posted about Universal Extractor, it did mentioned that it can extract files from Windows Installer Package MSI. I tried loading a MSI file in Universal Extractor and it prompt me that it supports 3 methods (MSI Administrative Installer, msi2xml extraction and MSI TC Packer extraction) of extracting MSI installer packages. The first method uses the command line method which you’ll find at many other websites on how to extract MSI files. The command is:
msiexec /a filepathtoMSIfile /qb TARGETDIR=filepathtotargetfolder
The second one uses an open source Windows Installer Database To XML Bi-Directional Converter created by Daniel Gehriger. The third method uses a Total Commander plugin created by Alex Gretha that extracts Windows Installer package (MSI).
Unfortunately none of methods are 100% reliable. If the default method does not seem to work, you have to rerun Universal Extractor and select an alternative method. All 3 method in Universal Extractor only extracts all the files in MSI package. It doesn’t allow you to view what is inside the MSI package and pick only the file that you want to extract.
I found another free tool called Less Msiérables (aka lessmsi), a small tool to extract the contents of an .msi file.
The good thing about Less Msiérables is you are able to view the contents of a MSI file. See any files that you want to extract, just put a checkmark next to the file and click Extract. Other than that, there is a table view where you get to see more geeky information such as File, Components, File Name, File Size, Version, Language, Attributes and Sequence. There’s also a Summary tab for you to view a summarized information about the MSI file. The last time Less Msiérables was updated was on November, 10, 2005. Although it is very old but it works perfectly!