I am using WIX for an installer package. When I uninstall the package by double clicking the original msi package everything is fine.

When I uninstall from the control panel it gives me a miminal UI uninstallation. I have written into my MSI a custom action which asks the user whether they want to uninstall some databases etc. This does not occur on the minimal UI uninstallation.

4 Answers
4

Yes, that's the behavior of the
Add/Remove Programs applet. It always
uninstalls MSI packages in basic mode
after prompting. The only thing you
can do is set ARPNOREMOVE to force a
user to use maintenance mode -- and
surface a Remove option in your
maintenance UI.

I don't know that I buy this. I think it can be overridden without resorting to maintenance mode. I am 90% sure that I have uninstalled games that were MSI's that asked me if I wanted to remoev saved games or not without ever going to the maintenance UI.
–
EBGreenAug 13 '09 at 0:34

It is generally possible to override anything - but it isn't always a good idea. If your MSI is being uninstalled remotely, for example via SCCM / SMS, then you have to be able to run the uninstall silently. The ARPNOREMOVE suggestion isn't too bad - the MSI will still be capable of uninstalling in silent mode, but for the casual user the maintenance dialog is shown and the appropriate question is asked.
–
Stein ÅsmulOct 2 '09 at 4:51

Look at the registry key for your product in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. In there look at the Uninstall value and see if adjusting it does what you want.

I'm pretty sure that there is a property in the MSI for this if that fixes your issue I just can't remember it off the top of my head. Searching the MSI for the string you find in the registry should help you suss it out though.

You can make ARP menu show only Remove/Change button(it opens your maintenance dialog) for your app by deleting 'ModifyPath' registry value under HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{YourProductCode}. And place both remove and change options in your maintenance dialog.

PS. For this method to apply make sure that you don't have any of the following registry values set to 1 under the registry key stated above: NoRepair, NoRemove, NoModify, WindowsInstaller.