Reputation: 12922
I have marked the following dialog as Hidden in WiX but yet it is still show on an uninstall when files are in use:
<Dialog Id="FilesInUse" X="50" Y="50" Width="361" Height="177" Title="[ProductName] Files in Use" Hidden="yes">
<Control Id="RetryButton" Type="PushButton" X="99" Y="150" Width="81" Height="18" Text="{\VSI_MS_Sans_Serif13.0_0_0}&Try Again" TabSkip="no" Default="yes">
<Publish Event="EndDialog" Value="Retry" />
</Control>
<Control Id="ContinueButton" Type="PushButton" X="186" Y="150" Width="81" Height="18" Text="{\VSI_MS_Sans_Serif13.0_0_0}&Continue" TabSkip="no">
<Publish Event="EndDialog" Value="Ignore" />
</Control>
<Control Id="ExitButton" Type="PushButton" X="273" Y="150" Width="81" Height="18" Text="{\VSI_MS_Sans_Serif13.0_0_0}E&xit Installation" TabSkip="no" Cancel="yes">
<Publish Event="EndDialog" Value="Exit" />
</Control>
<Control Id="ListFilesInUse" Type="ListBox" X="8" Y="64" Width="348" Height="62" Property="FileInUseProcess" Text="{\VSI_MS_Sans_Serif13.0_0_0}MsiFilesInUse" TabSkip="no" Sunken="yes" Sorted="yes" />
<Control Id="InstallBodyText" Type="Text" X="6" Y="9" Width="345" Height="43" Text="{\VSI_MS_Sans_Serif13.0_0_0}The following applications are using files which the installer must update. You can either close the applications and click "Try Again", or click "Continue" so that the installer continues the installation (a reboot may be required to replace these files on a restart)." TabSkip="yes" NoPrefix="yes">
<Condition Action="show"><![CDATA[REMOVE=""]]></Condition>
<Condition Action="hide"><![CDATA[REMOVE<>""]]></Condition>
</Control>
<Control Id="RemoveBodyText" Type="Text" X="6" Y="9" Width="345" Height="36" Text="{\VSI_MS_Sans_Serif13.0_0_0}The following applications are using files which the installer must remove. You can either close the applications and click "Try Again", or click "Continue" so that the installer continues the installation (a reboot may be required to replace these files on a restart)." TabSkip="yes" NoPrefix="yes">
<Condition Action="show"><![CDATA[REMOVE<>""]]></Condition>
<Condition Action="hide"><![CDATA[REMOVE=""]]></Condition>
</Control>
</Dialog>
How can I suppress this dialog?
Note: This dialog needs to be present or else the installer throws error 2803: dialog view did not find a record for the dialog
. I just need to not display it to the user somehow, or (if possible) to choose a selection for them.
Upvotes: 2
Views: 1921
Reputation: 509
According to the tips on installsite (see below), this does not seem not possible, since it is a Windows OS behavior. From my own experience, an alternative way to bypass this issue is to have a custom action to detect the running process and then prompt user that the process is running, close that app before uninstall. Uninstall an app while it is running is not good, it may leave some files and registry entries unless you do a clean uninstall next time or manually delete them.
How do I prevent the FilesInUse Dialog from displaying?
Set the Attributes column of the Dialog table for the FilesInUse dialog to 0.
Depending on your authoring tool, this is equivalent to marking the dialog to be "hidden", "modeless", and "NoMinimize".
Note that this trick will only work if your setup runs with full or reduced user interface. In basic UI mode Windows Installer uses its own built-in dialogs instead of the dialogs you authored in the msi file.
Upvotes: 3