Uninstallation dialog doesnt appear when uninstallating from Control Panel - wix

When the setup is run by double-clicking then the setup dialog appears as expected. When I want to un-install by double-clicking the setup, then the setup dialog appears with options to Change, Repair and Remove. However, when I try to uninstall through Control Panel, the dialog doesnt appear and uninstallation kicks off. Same thing happens when I right click on the setup file and choose Uninstall. How do I make the dialog appear every time when an uninstall is invoked?

Nithin when you try to uninstall through Control Panel, the dialog doesn't appear and uninstallation starts with Windows Installer progress bar dialog.
Yes, that's the default behavior of the Add/Remove Programs. It always
uninstalls MSI packages in basic mode after prompting.
The only place you can author UI during an uninstall is a "change" or "maintenance" UI.
But there are some tricks to achieve it.
1> Bootstrapper which calls your MSI with the desired UILevel rather than allowing ARP call your MSI directly.
2> Set ARPNOREMOVE property to force a user to use maintenance mode. But this would actually remove the option to Uninstall your product from both Control Panel and its Maintenance Dialog box.
so redefine Maintenance Dialog while enabling the Remove button forcefully using Condition element can do your work.
Farrukh Waheed Tutorial How to force GUI uninstall using ARPNOREMOVE property can help you with same.

Related

How can I get Explorer to restart when using Burn

In an msi, we use the following to get explorer to restart so that it loads our shell extension.
<util:RestartResource Path="[WindowsFolder]explorer.exe"/>
However, now that I've wrapped this msi up with its dependencies in an installer created with burn, the restart of Explorer no longer occurs.
How can I get the restart to still occur?
Thanks.
The msi normally displays some UI asking the user to reboot. This UI is hidden when wrapped in a burn/bundle exe. I thought perhaps the burn engine would issue callbacks allowing a custom bootstrapper to display the relevant UI. I tried overridding OnExecuteMsiMessage in a custom bootstrapper application, but don't see any message that would appear to give me an opportunity to display the UI that's required for the Explorer.exe restart.

WiX Uninstall cannot stop application unless elevated

I've created an installer using WiX and if the user tries to uninstall my application whilst it is still open, they should get the dialog which gives them the option to have the uninstaller close the application automatically or leave it running but a restart will be required.
It seems though that with User Account Control on, I need to elevate by running the package with msiexec from an elevated command prompt before this will happen. If the user is not elevated, the uninstaller will run, they click the Remove icon (which prompts for elevation), but the setup then simply says:
"The setup must update files or services that cannot be updated while the system is running. If you choose to continue, a reboot will be required to complete the setup."
I'd like them to have the option to close the app even when just uninstalling without having to manually elevate first
My best guess is that your MSI does not have a FilesInUse dialog box nor a MsiRMFilesInUse dialog box. Those are "well-known" dialog boxes that the Windows Installer will populate with information when it detects files in use. The WiX toolset should give you those dialogs automatically if you use one of the standard UIs. Alternatively, you can create your own dialogs.

Wix + uninstall from control panel + Application running

I have a Wix solution to install an application. When attempting to uninstall the application from control panel while it is running, a popup is appearing to close the application before continue.
The issues is the message showing in that popup which is suppose to be an uninstall message instead of install message.
The message is "The following application is running which is need to be close before continuing the install"
can we customize this default popup and change our message?
Yes, you can modify the FilesInUse and MsiRMFilesInUse dialogs. You can modify them directly or use a GUI editor.
You can modify this default message. Edit FilesInUse and MsiRMFilesInUse dialogs. You can edit them directly in the .wsx file or use a GUI editor. (The dialogs that you need to edit can be defined either in your .wsx file or come from a predefined WiX UI.)
Using WixEdit, you can use a visual designer.
You would better change the part of the string to come from a property.
The following application is running which is need to be close before continuing the [CURRENT_ACTION]
You will set the value of the CURRENT_ACTION depending on the mode of installation. You can find an example of doing it in the default WiX dialog set, the maintenance dialog: when user selects the mode (Modify, Repair, Remove), a property value is set which is then used on the progress page.

Launch dialog on uninstall using WiX

I have created a WiX installer and would like to launch a custom action dialog on uninstall. From this dialog I would like to gather information on why the user is uninstalling my application (well, this means just launching the web-browser).
I have seen some people using the On="uninstall" property, but I am not sure if this is the one to use, and how to use it, for the above action.
Windows doesn't show UI when a product is uninstalled from Add/Remove Programs or Programs and Features.
JakobJ: I wouldn't mess with this uninstall sequence. Any modal dialog that pops up when the installation is run in silent mode (which it is from add/remove) could cause your entire product to be axed in a corporate environment. If your uninstall is invoked from a management system such as SCCM and the uninstall on a lot of machines fails because the uninstall gets stuck on a dialog, this will not soon be forgotten. Trust me.

WIX MSI Package Uninstallation

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.
How can I make the uinstall from control panel work with a full UI?
A reply by Bob Arnson in this thread:
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.
You can't do that natively with MSI. You'd need to refer to a boostrapper/external UI to do the uninstall. The other answers to this question point in the right direction.
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.