I've created a WiX Toolset bundle project to install my 2 MSI projects and their prerequisites. I have been iteratively developing and testing this installer on multiple machines.
For one iteration of the installer I included an automatic launch command in one of my MSIs and forgot to include the conditions for the command, so the program would launch on install, repair AND uninstall (rather than just install). This meant that, for this version of the bundle, I could no longer use the Uninstall feature (the contained MSI would launch its program on Uninstall and fail). So we used a third party uninstall program (Revo) to force remove the bundle manually.
This appeared to work as we could now use the (fixed) bundle to re-install (no warnings or messages about a previous version of the MSI being present on the machine). But when running the uninstall again (again with the fixed installer) it succeeds very quickly and doesn't actually remove any files.
I think when we manually removed the program with Revo it has missed residual files / Registry keys or similar, but don't know WiX well enough to know what these might be. Where does WiX write to that would not be recognised as an issue on install, but prevent the installed files being seen and removed on uninstall?
Any machine we tested this broken version of the bundle now can't be used for testing as the uninstaller will not work as intended. If the broken version of the installer has not been used on the machine before, this behaviour does not occur.
I have attempted to use Windows' Orca program to remove the action from the Custom Action Table, but was unable to as the WiX bundle is it's own program that contains MSIs, not an MSI itself.
I have attempted to replace the cached installer bundle with one that is fixed but get a filepath not found error when trying to do so.
In the future we will insure our testers are using a VM, not their regular desktop, but we still need to fix this issue on the affected machines! Any pointers would be much appreciated!