wixtoolset / issues

WiX Toolset Issues Tracker
http://wixtoolset.org/
130 stars 24 forks source link

Hide "Files In Use" dialog behaving as if ignore was chosen #8807

Open charles-juicelabs opened 3 weeks ago

charles-juicelabs commented 3 weeks ago

User story

As a setup developer, I can author an installer for extension DLLs that avoids showing the "Files In Use" dialog, instead behaving as if the user had chosen ignore. This avoids an extra step in the install and users confused as to why seemingly unrelated applications need to be closed.

We develop an application with a DLL that is loaded into many processes, largely outside of our control. It is confusing for our users when they are prompted to close these seemingly unrelated applications when we update the DLL. Updating the DLL requires a reboot independently of any files being in use anyway, so hiding the "Files In Use" dialog is a nice solution for us.

There are other examples of people wanting to disable the "Files In Use" dialog:

Proposal

Add bal:DisplayFilesInUseDialogCondition, similar to bal::DisplayInternalUICondition, to be added to MsiPackage elements to control the display of "Files In Use" in WixStandardBoostrapperApplication.

For example:

<Bundle Name="...">
  <!-- ... -->
  <Chain>
    <MsiPackage 
      Id="..."
      SourceFile="..."
      bal:DisplayFilesInUseDialogCondition="no"
    />
  </Chain>
</Bundle>

Considerations

I haven't added any documentation but I'm happy to do so once you're happy with the general approach here.

I wasn't sure if bal:DisplayFilesInUseDialogCondition was appropriate for other elements beyond MsiPackage or if it needed to be recognized by other built-in bootstrappers. Happy to do some amount of work here if necessary to get this PR merged.

Thanks for all your work on WiX! WiX has worked very well building installers for our project -- being unable to hide the "Files In Use" dialog has been the only real problem we've had.

barnson commented 1 week ago

Makes sense. Should be supported on MsiPackage and MspPackage. The .NET Framework redistributable also triggers files-in-use messages but that's a different code path and can be ignored. We'll put your PR in the queue for review but note we're way behind atm so it'll be a bit...