我正在使用Wix开发一个安装程序,并且需要在安装期间以静默方式终止进程(而不是应用程序),因此用户不会弹出一个要求终止进程或等待并重新启动的弹出窗口。我已经看到了杀死应用程序但不是进程的解决方案。
答案 0 :(得分:33)
经过一番挖掘后,我发现这个解决方案使用了WixUtilExtension Quiet Execution Custom Action http://wix.sourceforge.net/manual-wix3/qtexec.htm:
<InstallExecuteSequence>
<Custom Action='MyProcess.TaskKill' Before='InstallValidate'/>
</InstallExecuteSequence>
<Property Id="QtExecCmdLine"
Value='"[WindowsFolder]\System32\taskkill.exe" /F /IM MyProcess.exe'/>
<CustomAction Id="MyProcess.TaskKill"
BinaryKey="WixCA"
DllEntry="CAQuietExec"
Execute="immediate"
Return="ignore"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="WindowsFolder" Name="WINDOWS"/>
...
答案 1 :(得分:2)
如果我了解您的需求,我已使用CloseApplication
元素执行此操作。我杀死的进程在任务管理器中不显示为应用程序。取决于你正在谈论的流程类。