我正在使用 Wix 创建 .msi 安装文件。
当我卸载应用程序时,它仍然在工作,并且我可以在任务管理器中看到它。
我已经尝试过自定义操作的延迟执行,如 Wix 文档中所述:https://wixtoolset.org/documentation/manual/v3/customactions/qtexec.html https://wixtoolset.org/documentation/manual/v3/customactions/qtexec.html但不幸的是,它不适合我。
我要执行的命令是“taskkill /f /im myProcess.exe”
<Property Id="myProcessKill" Value="taskkill /f /im myProcess.exe"/>
<CustomAction Id="myProcessKill" BinaryKey="WixCA" DllEntry="WixQuietExec"
Execute="deferred" Return="check" Impersonate="no"/>
<InstallExecuteSequence>
<Custom Action="myProcessKill" After="InstallValidate"/>
</InstallExecuteSequence>
这使得我的 msi 文件在安装过程中出现错误。
如果我将 Return="check" 更改为 Return="ignore",msi 会完成安装,但在卸载时不会终止我的进程。
上面的代码有什么问题吗?或者有没有其他方法可以在卸载时终止我的进程?
提前致谢
也许尝试:WiX 关闭应用程序元素 https://stackoverflow.com/a/49786437/129130。在尝试其他任何操作之前,我会先尝试一下,以避免对任何二进制文件的依赖。在 github.com 上找到了这个示例 https://github.com/SimonAntony/windowsmonitor/blob/274ce70eb3ab54fa9015447d4b44ffa6e05eab51/WindowsMonitorSetup/Setup.wxs(未经测试)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)