Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio
All postings are provided AS IS
with no warranties, and confer no rights. Additionally, views expressed
herein are my own and not those of my employer, Microsoft.
I was recently working on developing an MSI-based setup package as a learning exercise to teach myself some of the fundamental concepts of Windows Installer XML (WiX). During this process, I created a test MSI package and tried to install it on my development machine. Then, when I tried to uninstall it, I found that one of my launch conditions was being triggered incorrectly, which blocked me from being able to uninstall the package.
It was relatively simple to figure out why the launch condition was incorrect and fix it in my MSI package - I needed to schedule the AppSearch action to occur before LaunchConditions (since one of my launch conditions needed to use the results of one of my app searches) and also condition my AppSearch so it would happen in repair/uninstall cases and not only during initial install. However, I was stuck with the buggy version of the MSI installed on my development machine and blocked from uninstalling it.
I found a couple of options that allowed me to fix my development machine and work around the buggy uninstall logic that I had introduced and I wanted to share them here in case they are useful to any other setup developers reading this:
Msizap should do this sort of thing well
Hi Hebbja - Msizap will remove the Windows Installer registry information for a product, but it will not actually remove the files/registry that the product installs. It is cleaner to try to fix the broken MSI using the steps in this blog post and then perform a product uninstall if possible.
Today was the 2nd time I managed to cause a machine at work to not be able to uninstall the project I've
Thank-you, just thank-you.
Thanks, saved the day. Here's my bitcookie #8635.