如何从WiX中杀死进程

时间:2012-07-11 19:13:38

标签: process wix kill

我正在使用Wix开发一个安装程序,并且需要在安装期间以静默方式终止进程(而不是应用程序),因此用户不会弹出一个要求终止进程或等待并重新启动的弹出窗口。我已经看到了杀死应用程序但不是进程的解决方案。

2 个答案:

答案 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元素执行此操作。我杀死的进程在任务管理器中不显示为应用程序。取决于你正在谈论的流程类。