I am using <MajorUpgrade> in WiX 3.6 to force an uninstall of the previous version of my application when installing a newer version. My application installs an extension DLL file into Windows Explorer, so on uninstall the Files In Use lists Explorer and defaults to shutting down the listed application. This does kill Windows Explorer as my shell goes away (which is somewhat jarring for the user), however I still get an error saying that not all applications could be shutdown and states a reboot will be necessary. My preference is to avoid this thrash and skip the Files-In-Use dialog just inform the user of the required reboot at the end. Is there a way to tell WiX to skip the Files-In-Use dialog?
3 Answers
<Property Id="MSIRESTARTMANAGERCONTROL" Value="Disable"/>
This works for me but I'm not trying to kill any system services.
Did you try "DisableShutdown" as well?
"Windows Installer uses the FilesInUse Dialog. This setting disables attempts by the Restart Manager to mitigate restarts when installing a Windows Installer package that has not been authored to use the Restart Manager. The installer still uses the Restart Manager to detect files in use by applications."
http://msdn.microsoft.com/en-us/library/aa370377%28v=vs.85%29.aspx

- 357
- 2
- 11
-
It works but it causes `error 2803: dialog view did not find a record for the dialog` – Alexandru Mar 17 '15 at 14:02
-
I've posted a similar question (http://stackoverflow.com/questions/29103629/how-to-suppress-a-dialog) – Alexandru Mar 17 '15 at 16:35
You can disable the Restart Manager integration by setting the MSIRESTARTMANAGERCONTROL
property equal to "Disabled"
(from MSI SDK). You can also try to remove the FilesInUse
dialog, but the static Internal Consistency Evaluator (ICE) validation will complain. My hope is that disabling the Restart Manager will be enough to stop trying to pull the resources out of explorer.exe
.

- 30,738
- 21
- 105
- 131

- 33,834
- 5
- 90
- 130
-
Hi Rob, had already tried setting MSIRESTARTMANAGERCONTROL to Disabled with no luck. – ribram Apr 15 '13 at 13:09
-
1Then you'll have to remove the `FilesInUse` dialog and hope the Windows Installer doesn't provide an internal one. :) – Rob Mensching Apr 15 '13 at 15:45
-
Hi Rob, by remove I am assuming pulling the WiX source and rebuilding it without the dialog? – ribram Apr 16 '13 at 22:20
-
1Yes. The `FilesInUse` dialog is built in and you'll have to rebuild the UI extension without it to test. – Rob Mensching Apr 16 '13 at 22:28
-
3@ribram Did you try `MSIRESTARTMANAGERCONTROL=Disabled` or `MSIRESTARTMANAGERCONTROL=Disable` ? – azhrei Jul 02 '13 at 03:28
I also have a situation where the attempt to close and reopen applications will always fail. A reboot is required. I attempted to use all of the solutions offered here. None of them worked. I was able to resolve the issue simply though. This article was the clue. https://msdn.microsoft.com/en-us/library/aa369546(v=vs.85).aspx
I added a condition to the InstallValidate standard action that always resolves to false. The action never runs. The standard action only deals with disk costing and open processes, Stopping the action from being called stopped all offers to close things. I also had to set the Windows Installer REBOOT property to FORCE to get the prompt to reboot at the end of the install.
My application has a small disk footprint. If having my install fail later in the process because the disk is full would be a big problem, I would find a way to do costing myself.

- 239
- 2
- 7
-
How did you bypass the InstallValidate step? Some code would be appreciated? – Jerry Mar 15 '18 at 15:54
-
I was using InstallShield not Wix so it would be hard for me to express the solution in code. Sorry. Look for ways to add conditions to standard actions in Wix. – Kelly MacInnis Jun 19 '18 at 23:19