我正在使用Wix创建.msi安装文件。 当我卸载应用程序时,它仍然可以正常工作,并且可以在任务管理器中看到它。
我已经尝试按照Wix文档中的描述执行自定义操作的延迟执行: 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将完成安装,但在卸载时不会终止我的进程。 上面的代码有什么问题?还是在卸载时还有其他方法可以杀死我的进程? 预先感谢
答案 0 :(得分:1)
在您遇到的情况下,尝试使用带有引号的<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<input type="number" v-model="data1">
<input type="number" v-model="data2">
<h1> Method from Template </h1>
<p>result: {{ sum(data1, 1) }}</p>
<p>result: {{ sum(data2, 2) }}</p>
<h1> Method from Computed </h1>
<p>c-result: {{computed1}}</p>
<p>c-result: {{computed2}}</p>
<h1> Invoked From Data Init </h1>
<p>result: {{result1}}</p>
<p>result: {{result2}}</p>
</div>
并将cmd.exe
传递给
taskkill
我也不确定您的自定义操作顺序,至少您应该添加<Property Id="myProcessKill" Value=""c:\windows\system32\cmd.exe" /c taskkill /f /im myProcess.exe"/>
。在我们的应用中,我们正在使用REMOVE="ALL"
答案 1 :(得分:1)
也许尝试:WiX's CloseApplication Element。在尝试其他方法以避免对任何二进制文件的依赖之前,我会先尝试一下。 Found this sample on github.com(未试用)。