Uninstall magic: MSIZap and MSIInv

Like many of you, my laptop is very “dirty”… I tend to install the latest pre-release builds when they come out… occasionally there are bugs that make it uninstall not even work.Usually what happens is a go to install a newer version of a product and it says there is already an older one installed (or the install fails in some obtuse way).But of course ARP (that’s Add\Remove Programs for the uninitiated among us) shows no entry for the older version.

In the past the only way out of this is to flatten the machine.But recently I found a couple of very cool commandline tools that can really help save the day.And even better those tools are available (but unsupported) for you use.Here is how to use them:

2.From the command line window, run the following command to manually remove the previous installation of Avalon or Indigo:

a.For Avalon, run msizap.exe {397F147C-882E-4E9D-92D2-FE1D61E2729A}

b.For Indigo, run msizap.exe {C350D87C-7B67-43E2-B717-E9ADABE2F631}

If you are not sure what products that you need to uninstall, please download the www.huydao.net/setup/msiinv.zipand unzip it to get msiinv.exe. Run this tool in the command line window and send the output in the text file to us. The output file will provide the information on products installed on your box. We can then pinpoint the exact products that you need to remove using msizap.exe {GUID}.

If you are a beta junky, I recommend running msiinv.exe regularly just to clean up your machine.In fact I’d love to hear what old bits you find on your machine with this tool… I know I found a few very old entries that felt good to clean up…

In this form, it comes with a simple GUI that shows the installed MSI packages and lets you choose which one to remove (making the process a little easier). It’s still calling MSIZap under the covers, and MSIZap is there if you want to call it from commandline from time to time.

Actually, msizap does NOT remove any of the files or registry entries, etc that were added by the installation. It only cleans out the windows installer’s internal database of information so that it LOOKS to windows installer as if things have been uninstalled, but the files are left on the hard drive (and need to be cleaned up by hand).

It’s useful when uninstall is broken (e.g. you get partway through uninstall and for some reason, the uninstall fails and rollsback to the installed state).

If all you need to do is uninstall something that isn’t in add/remove programs for some reason, then yes msiexec /x is a better approach.