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.
Related
My installer has a license dialog, so I don't see the need to display one in the bootstrapper. This earlier question had an answer which doesn't display the license agreement, but still requires the user to click the install button. I'd like to immediately extract and run .msi without requiring any user input. Is there a way to skip the dialog completely?
There is option called /passive which should do what you want: start installation automatically, showing the user interface.
However, the problem is that it can't be set by default - you'd have to wrap your .msi into some kind of .exe which calls the msi with specific command line.
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Burn-Launch-using-passive-option-as-default-td7591613.html
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.
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.
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.
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.