Unzipping/extracting MSI files

If, like me, you are constantly wanting to just extract the files from a Windows Installer MSI file quickly, then this is for you.

My ZIP utility of choice 7-Zip appears to support extracting MSI files but in fact extracts all the various weird and wonderful binary streams in the MSI rather than simply just the actual files. Thankfully I stumbled across a Windows Installer switch today after typing msiexec /? that does the job perfectly: the /a “administrative install” switch, e.g.:

msiexec /a foo.msi /qb TARGETDIR="C:TEMPFoo"

So, what I’ve done is packaged this up as a little registry tweak that conveniently lets you do this by simply right clicking a file like so:

image

Copy and paste the following into a *.reg file and double-click it:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareClassesMsi.PackageshellExtract MSIcommand]
@="msiexec.exe /a "%1" /qb TARGETDIR="%1 Extracted""

Hope that helps!

23 thoughts on “Unzipping/extracting MSI files

    1. Yes, it’s normally in HKEY_LOCAL_MACHINE – but I put it in HKEY_CURRENT_USER so it only affects the current user, and not everyone who logs into the machine.

    1. A directory called ” Extracted” in the same directory. Make sure you have permissions here.

    1. Yes, I talk about the command-line (/a) switch in the post, the ideas was to make it more easily accessible from explorer.

  1. I’m fairly new to the whole registry science, but i’ve applied this reg to my regedit. I’ve tried to extract, using the new option in the drop-down, the msi file yet it gives me a 2350 error at the end of the extraction…. Can you help me?!

      1. Ah, but i have the latest Win 7 sp1… so i’m confused…. Further yet, it begins the installation, but at the end of it, it gives the error.

Leave a comment