fix(win32): close running Deskflow processes during MSI install

Add util:CloseApplication entries for deskflow.exe, deskflow-core.exe,
deskflow-server.exe and deskflow-client.exe so Windows Installer's
Restart Manager can shut them down before file replacement. Without
this, in-place upgrades (especially pre-1.24 -> 1.24+, where the
old server/client binaries need removing) hit files-in-use and fall
back to prompting the user for a reboot.
This commit is contained in:
Josh Harris 2026-05-28 17:57:11 +01:00 committed by Nick Bolton
parent 2c37169f73
commit c8231208c1

View file

@ -37,6 +37,38 @@
<Binary Id="CustomDLL" SourceFile="@CMAKE_CURRENT_BINARY_DIR@/wix-custom.dll" /> <Binary Id="CustomDLL" SourceFile="@CMAKE_CURRENT_BINARY_DIR@/wix-custom.dll" />
<!--
Close any running Deskflow processes before file replacement so the
installer does not have to schedule files for replace-on-reboot.
Legacy names (deskflow-server.exe, deskflow-client.exe) are still
listed so upgrades from pre-1.24 installs (separate server/client
binaries) also complete without prompting for a reboot.
-->
<util:CloseApplication
Id="CloseDeskflowGui"
Target="deskflow.exe"
CloseMessage="yes"
RebootPrompt="no"
TerminateProcess="10" />
<util:CloseApplication
Id="CloseDeskflowCore"
Target="deskflow-core.exe"
CloseMessage="yes"
RebootPrompt="no"
TerminateProcess="10" />
<util:CloseApplication
Id="CloseDeskflowServer"
Target="deskflow-server.exe"
CloseMessage="yes"
RebootPrompt="no"
TerminateProcess="10" />
<util:CloseApplication
Id="CloseDeskflowClient"
Target="deskflow-client.exe"
CloseMessage="yes"
RebootPrompt="no"
TerminateProcess="10" />
<UI> <UI>
<Publish Dialog="ExitDialog" <Publish Dialog="ExitDialog"
Control="Finish" Control="Finish"