我正在使用Windows Installer XML 3.0(WIX3)来安装某些软件.
一切正常,但是,我很难处理以下用例:当用户尝试卸载时,已安装的软件仍在运行.默认行为似乎删除所有文件,但让应用程序运行(在我的情况下很难看到,因为它位于任务托盘中).
我在我的installer.wxs
文件中添加了以下代码:
<InstallExecuteSequence>
<Custom Action="WixCloseApplications" Before="RemoveFiles" />
</InstallExecuteSequence>
<util:CloseApplication Id="CloseFoobar"
CloseMessage="no"
Description="FooBar is still running!"
ElevatedCloseMessage="no"
RebootPrompt="no"
Target="foobar.exe" />
Run Code Online (Sandbox Code Playgroud)
但这不起作用 - 更糟糕的是,它会显示一个对话框,要求在安装期间重新启动!
这样做的正确方法是什么?
据我所知,它应该足以将以下引用添加到您的UI:
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
Run Code Online (Sandbox Code Playgroud)
CloseApplication的东西只是用于在安装过程中关闭应用程序,但它是错误的(至少在几个月前我尝试过它,也许它现在已修复?)
不幸的是,这又是WiX非常糟糕的文档的一个例子,甚至没有像这样的标准安装/卸载场景.
归档时间: |
|
查看次数: |
11246 次 |
最近记录: |