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:


 


1.      Download msizap.zip from www.huydao.net/setup/msizap.zip and unzip to get msizap.exe


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.zip and 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…


 


Enjoy!


 


 


Update (3-04-09):


See updated info at:


http://blogs.msdn.com/heaths/archive/2008/04/22/msizap-is-not-uninstall.aspx


 


Msiinv.exe is a tool developed outside of Microsoft and is available from http://www.huydao.net/setup/msiinv.zip. An old post from Aaron Stebner describes some common use. http://blogs.msdn.com/astebner/archive/2005/07/01/434814.aspx


 


 


 

Comments (14)

  1. aweiker says:

    Does MsiZap actually delete the files, or just make it look like they are no longer there?

  2. The question is, why are you pointing to some wacky third-party site for that stuff? Those are actual Microsoft utilities, which means those are probably illegal redistributions and likely out of date. The official home for the MSI utilities is the Windows Installer components part of the Platform SDK, Web install starts from http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en . Yeah, the little zips might be more convenient, but I’d rather trust the current live distribution.

  3. BradA says:

    aweiker – What this does it kick off the uninstaller which will remove the bits from the machine.

    Mike – this site is tester’s on the VS setup team… You are right we need to get these tools on an offical MS site, but I didn’t want to wait for that to get the information out to customers.

    That said, you are right, these are unsupported, use at your own risk.

  4. HK says:

    I tried running the msiinv.exe.It detected all the installations on my machine but the exe just closed after running so how to get to seeing the results or how do i save the results to a text file ??

  5. Miha Markic says:

    Or even better, use a virtual machine such as VMWare. Then you won’t have any such problems 🙂

  6. Erv Walter says:

    MSIZap is pretty awesome. You can also get it from here:

    http://support.microsoft.com/default.aspx?scid=kb;en-us;290301

    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.

  7. Andrei says:

    Sounds to me like msizap does the same thing as msiexec /x CLSID.

  8. Erv Walter says:

    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.

  9. Link Listing – June 26, 2005

  10. PaulJ says:

    ‘msiexec /x CLSID’ is not the same as ‘msizap CLSID’

    ‘msiexec /x CLSID’ tells Windows Installer to uninstall the application associated with CLSID.

    This is the same as hitting Remove in Add/Remove programs.

    ‘msizap CLSID’ simply removes the configuration information for the application from the registry. Windows installer will now be ignorant of any earlier installation of the application.

  11. The tool msizap.exe that is available in the Windows SDK and elsewhere on the web (remember to always

  12. MsiZAP and MsiInv Tools for MSI (Windows installer application)…