Windows Installer Issues

posted @ Tuesday, October 17, 2006 12:26 PM

 

This morning I ran into an issue where I couldn't remove a Windows Service from my development machine from ARP (Add/Remove Programs). It would exit with an error. After manually removing the executable and associated files (don't do this) and removing the entry from
"HKEY_LOCAL_MACHINE\SOFTWARE
\Microsoft\Windows\CurrentVersion\Uninstall", I thought I was in the clear (again don't do this). Not so quick, the item I thought I had removed continued to show up under ARP, this time without the Repair or Remove buttons. After talking to Heath, the suggestion was to run msiexec /fvomus {productcode}, the {productcode} can be found in the Property table within the msi. You can view this within Orca the database table editor for Windows installer packages and merge modules. But wait, because I had rebuilt the msi with changes, the {productcode} entry was different so this option wouldn't work for me either, running the above command gives an error message stating the current msi doesn't match what is installed due to productcode differences.

Heath then suggested using msizap and locating the old product code, but since I no longer had the original .msi, well, I think you can see where this leaves us. The solution I found was a knowledge base article here which not only includes msizap but a nice UI for the tool which lists all installed products and allows you to uninstall from there - highly valuable. Always remember to backup your .msi's incase you need them in the future.