18

我正在使用 Wix 开发安装程序,并且需要在安装过程中静默终止进程(而不是应用程序),这样用户就不会弹出要求终止进程或等待并重新启动的窗口。我已经看到了杀死应用程序而不是进程的解决方案。

4

2 回答 2

34

经过一番挖掘,我发现了这个使用 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"/>
    ...
于 2012-07-12T19:32:03.273 回答
3

如果我了解您的需求,我已使用该CloseApplication元素来执行此操作。我杀死的进程在任务管理器中没有显示为应用程序。不过,这取决于您正在谈论的流程类。

于 2012-12-19T19:24:49.110 回答