【发布时间】:2012-03-23 21:22:17
【问题描述】:
我有一个安装程序,它会安装一个应用程序并在安装完成后立即启动它。这对我来说很有效。
但现在我想在卸载应用程序时停止该应用程序,我不希望提示用户手动关闭应用程序。这将全自动工作。
我需要使用自定义操作来执行此操作,WM_CLOSE 消息在我的方法中不起作用(真的,我尝试了几次)。
我认为这不会那么困难,但我没有让它发挥作用。到目前为止我做了什么:
我定义了一个 CustomAction:
<CustomAction Id="CloseTrayApp" ExeCommand="-exit" FileKey="TrayApp" Execute="immediate" Return="asyncNoWait" />
并称它为:
<InstallExecuteSequence>
...
<Custom Action="CloseTrayApp" Before="InstallValidate" />
...
</InstallExecuteSequence>
但这不起作用。我想我错误地安排了我的自定义操作,但我无法确定正确的时间来做这件事。
是否有任何关于时间/地点进行自定义操作的建议?我很不确定是否
Before="InstallValidate"
是正确的地方。
【问题讨论】:
-
当你说“这行不通”时——你是什么意思?日志文件中是否有任何错误?
-
如何查看日志文件?不起作用意味着,我仍然得到“手动关闭应用程序”对话框,安装程序说它失败并且进程仍在运行。
-
为了生成详细的日志文件,您应该使用 /l*v 命令行开关运行安装。像这样:
msiexec /i MyApplication.msi /l*v MyLogFile.txt
标签: windows installation wix