Process 如何从WiX终止进程
我正在使用Wix开发一个安装程序,需要在安装过程中悄悄地终止进程(而不是应用程序),这样用户就不会收到一个弹出窗口,要求终止进程或等待并重新启动。我见过杀死应用程序而不是进程的解决方案。经过深入研究,我找到了这个使用WixUtil扩展安静执行自定义操作的解决方案:Process 如何从WiX终止进程,process,wix,kill,Process,Wix,Kill,我正在使用Wix开发一个安装程序,需要在安装过程中悄悄地终止进程(而不是应用程序),这样用户就不会收到一个弹出窗口,要求终止进程或等待并重新启动。我见过杀死应用程序而不是进程的解决方案。经过深入研究,我找到了这个使用WixUtil扩展安静执行自定义操作的解决方案: ... 如果我了解您的需要,我已经使用了元素来完成此操作。我杀死的进程在任务管理器中不显示为应用程序。不过,这取决于您谈论的是什么进程类。是否有可能使它适用于使用管理员权限运行的进程?当前,如果我在管理员帐户上运行的进程导致qtex
...
如果我了解您的需要,我已经使用了元素来完成此操作。我杀死的进程在任务管理器中不显示为应用程序。不过,这取决于您谈论的是什么进程类。是否有可能使它适用于使用管理员权限运行的进程?当前,如果我在管理员帐户上运行的进程导致qtexec没有足够的权限终止该进程,则此操作将不起作用。请小心,taskkill在windows的家庭版本中不可用。CAQuietExec将在4.0中不可用。链接上有相同的替换。嗨@patrickbadley你是怎么解决的?因为我正在做和标记答案相同的事情,但它对我不起作用。我用的是Win10thanks@ElamirOhana这是几年前的事了,从那以后我就再也没有和WiX合作过了,不过在关于新版WiX的选定答案(对我来说很有用)上有一条评论,也许可以帮你弄清楚:“从文档来看,CAQuietExec将在4.0中不可用。链接上有相当的替代品。–will”
<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"/>
...