我正在使用Microsoft Visual Studio 2010为我的简单.EXE应用程序创建一个简单的.MSI安装程序。
问题是,如果在.EXE仍在运行时安装升级,则出现问题(直到重新启动)。
我希望.MSI安装程序在安装/升级之前终止我的进程。
有人可以告诉我在Orca中如何做到这一点吗?
编辑:我看到这是由于我的.EXE正在使用中发生的,但我也看到了它,因为.CHM帮助文件在升级时也是打开的,所以任何进程终止都不够解决这个问题。答案 0 :(得分:3)
您应该将MsiRMFilesInUse Dialog广告给您的安装人员。
答案 1 :(得分:1)
您可以尝试创建一个custom action来停止您的应用程序(您自己编写的自定义EXE或DLL)。例如,您可以将WM_CLOSE发送到主应用程序窗口(您的应用程序应该处理此消息)。
应在InstallExecuteSequence表中的InstallValidate操作之前安排此自定义操作。
答案 2 :(得分:0)
您可以编写一个自定义操作来关闭您的应用程序以及您的帮助文件。
您应该能够使用FindWindow找到这两个窗口句柄: http://msdn.microsoft.com/en-us/library/ms633499(v=vs.85).aspx
对于可执行文件,您应该能够为FindWindow使用适当的Window类或标题。 对于帮助文件,您应该能够使用相应的FindWindow帮助窗口标题。
我希望这有帮助!