4

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

麻烦的是,如果您在 .EXE 仍在运行时安装升级,事情就会出错(直到重新启动)。

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

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

编辑:我已经看到由于我的 .EXE 正在使用而发生这种情况,但我也看到了它,因为 .CHM 帮助文件在升级时也是打开的,因此仅靠任何进程终止都不足以解决这个问题问题。

4

3 回答 3

3

您应该将MsiRMFilesInUse 对话框添加到您的安装程序中。

于 2011-02-28T07:33:15.210 回答
1

您可以尝试创建一个自定义操作来停止您的应用程序(您编写的自定义 EXE 或 DLL)。例如,您可以将 WM_CLOSE 发送到主应用程序窗口(您的应用程序应该处理此消息)。

此自定义操作应在 InstallExecuteSequence 表中的 InstallValidate 操作之前安排。

于 2011-02-28T07:32:08.143 回答
0

您可以编写一个自定义操作来关闭您的应用程序以及您的帮助文件。

您应该能够使用 FindWindow 找到这两个窗口句柄:http: //msdn.microsoft.com/en-us/library/ms633499 (v=vs.85).aspx

对于可执行文件,您应该能够为 FindWindow 使用适当的窗口类或标题。对于帮助文件,您应该能够为 FindWindow 使用适当的帮助窗口标题。

我希望这有帮助!

于 2011-03-07T02:09:29.200 回答