我在安装程序中添加了自定义操作“安装”,以在后台运行ProcessMonitor.exe
。 ProcessMonitor是一个检查我的应用程序并删除不需要的/临时文件的应用程序。因此,当应用程序安装在目标计算机上时,它将在后台运行processMonitor.exe
。现在,当我选择修复/删除选项时,它会显示错误消息:“以下应用程序正在使用安装程序必须更新的文件。您可以关闭该应用程序并单击“重试”或单击“继续”。
如果我手动终止ProcessMonitor的修复/删除选项,则工作成功。
在修复/删除的情况下,我想要一种方法在安装程序从目标文件夹复制/删除文件之前先杀死processMonitor.exe
。
答案 0 :(得分:0)
延迟模式CA :要成功杀死提升的进程,您需要运行提升的进程。那 表示MSI中的延迟模式自定义操作。 您使用的是什么工具?
法律 :您是否检查过是否可以重新分发 ProcessMonitor.exe
?我不确定。我绝对会澄清这一点,以避免任何法律问题。 It is a free tool, but that does not necessarily mean you can deploy it with your own package (redistribute it)
,尽管由于它是一种成熟,成熟且享有盛誉的产品,所以可以允许使用。
Procmon.exe :该工具真的对您的产品有用吗?说实话,安装它是很奇怪的,因为它是一种专业工具,并且在常规用户手中通常是不可取的?如果需要它进行测试,则可以将其编译到调试设置中,然后从发行设置中将其删除。您在使用WiX吗? Try compiler variables / preprocessor constructs(请参阅底部的具体标记代码)。 Some more WiX variable details。
关闭应用程序 :procmon.exe
中有一个内置功能可以自行关闭,如下所示,但是,还有许多其他方法可以可以工作。 Here is a quick list。还有here is another WMI approach。 Most tools should never be forcefully terminated, but this tool may be entirely read-only. I am not sure
。
终止 :您应该能够通过调用procmon.exe
来终止procmon.exe
实例,如下所示:procmon.exe /Terminate
。但是,似乎它一次只能终止一个实例。
运行Procmon.exe /?
时可用的命令行参数列表: