MSI创建:在升级之前终止应用程序

时间:2011-02-27 15:50:48

标签: visual-studio-2010 windows-installer orca

我正在使用Microsoft Visual Studio 2010为我的简单.EXE应用程序创建一个简单的.MSI安装程序。

问题是,如果在.EXE仍在运行时安装升级,则出现问题(直到重新启动)。

我希望.MSI安装程序在安装/升级之前终止我的进程。

有人可以告诉我在Orca中如何做到这一点吗?

编辑:我看到这是由于我的.EXE正在使用中发生的,但我也看到了它,因为.CHM帮助文件在升级时也是打开的,所以任何进程终止都不够解决这个问题。

3 个答案:

答案 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帮助窗口标题。

我希望这有帮助!

相关问题