将重新启动管理器与外部 UI 配合使用

Windows Installer 开发人员可以按照将 Windows Installer 与重新启动管理器配合使用中所述的准则,准备其安装包,以使用重新启动管理器

在调用 MsiSetExternalUIMsiSetExternalUIRecord 函数以启用外部用户界面处理程序时指定 INSTALLLOGMODE_RMFILESINUSE 消息类型。 然后,Windows Installer 将发送 INSTALLMESSAGE_RMFILESINUSE 消息,供支持重新启动管理器的外部用户界面处理程序使用。

外部用户界面处理程序应处理 INSTALLMESSAGE_RMFILESINUSE 消息中包含的信息。 如果没有注册或内部用户界面处理 INSTALLMESSAGE_RMFILESINUSE 消息,Windows Installer 将发送 INSTALLMESSAGE_FILESINUSE 消息,供支持 INSTALLMESSAGE_FILESINUSE 消息和 FilesInUse 对话框的现有外部处理程序使用。

外部用户界面可以返回下表所列的值。

外部 UI 返回值 Windows Installer 执行的操作
IDOK 用户按下了“确定”按钮。 Windows Installer 将请求重新启动管理器关闭并重新启动保存当前正在使用的文件的应用程序。
IDCANCEL 已按下“取消”按钮。 取消安装。
IDIGNORE 已按下“忽略”按钮。 忽略并继续安装。 安装结束时需要重新启动。
IDNO 已按下“否”按钮。 如果包有 MsiRMFilesInUse 对话框,请发送 1610 消息。 有关详细信息,请参阅 Windows Installer 错误消息。 如果包没有 MsiRMFilesInUse 对话框,请发送 INSTALLMESSAGE_FILESINUSE 消息。
IDRETRY 已按下“重试”按钮。 发送 INSTALLMESSAGE_FILESINUSE 消息。
-1 错误。 结束安装。