系统重启
Windows Installer 可以确定何时需要重新启动系统,并自动提示用户在安装结束时重新启动。 例如,如果安装程序需要替换安装过程中使用的任何文件,安装程序会自动提示重新启动。
使用 Windows Installer 4.0 或更高版本进行安装和维护的应用程序会自动使用 重启管理器 来减少系统重启。 Windows Installer 版本 4.0 或更高版本具有属性和策略,使包作者和管理员能够控制 Windows Installer 与重启管理器的交互。 有关详细信息,请参阅 将 Windows Installer 与重启管理器配合使用。
安装包作者可以使用序列表中的标准作和设置属性来计划和取消重新启动。 以下作和属性用于处理系统重启。
作、对话框或属性 | 简要说明 |
---|---|
ForceReboot作 | 提示用户在安装过程中重新启动。 |
ScheduleReboot作 | 提示用户在安装结束时重新启动。 |
REBOOT 属性 | 强制或禁止某些自动提示系统重新启动。 |
REBOOTPROMPT 属性 | 禁止显示向用户重新启动的提示。 任何所需的重启都会自动发生。 |
AFTERREBOOT 属性 | 通常用于对 ForceReboot作施加的条件。 |
InstallValidate作 | 如有必要,显示 FilesInUse 对话框,让用户有机会关闭进程并避免某些系统重新启动。 |
FilesInUse 对话框 | 让用户有机会关闭进程以避免某些系统重启。 |
MsiRMFilesInUse 对话框 | 为用户提供使用 重启管理器 关闭和重启应用程序的选项。 从 Windows Installer 版本 4.0 开始可用。 |
ReplacedInUseFiles 属性 | 设置安装程序是否通过正在使用的文件进行安装。 自定义作使用此属性来检测是否需要重新启动。 |
MSIRESTARTMANAGERCONTROL | 用于禁用 Windows Installer 与 重启管理器交互的属性。 从 Windows Installer 版本 4.0 开始可用。 |
MSIDISABLERMRESTART | 指定 重启管理器 关闭和重启应用程序的方式。 从 Windows Installer 版本 4.0 开始可用。 |
MSIRMSHUTDOWN | 指定 重启管理器 关闭和重启应用程序的方式。 从 Windows Installer 版本 4.0 开始可用。 |
MsiSystemRebootPending | 如果作系统重启挂起,安装程序将设置此属性。 从 Windows Installer 版本 4.0 开始可用。 |
DisableAutomaticApplicationShutdown | 禁用 Windows Installer 与 重启管理器交互的策略。 从 Windows Installer 版本 4.0 开始可用。 |
ERROR_INSTALL_SUSPEND意味着安装未完成或回滚。 安装必须先恢复,然后才能完成。 可能需要重新启动系统,然后才能恢复安装。
运行 ForceReboot作 时,Windows Installer 将返回错误代码ERROR_INSTALL_SUSPEND。 如果在运行应用程序之前需要重新启动,则返回ERROR_SUCCESS_REBOOT_REQUIRED,如果安装程序实际上已启动重新启动,它将返回ERROR_SUCCESS_REBOOT_INITIATED。 请注意,由于重新启动是异步的,因此在返回错误代码之前,重新启动实际上可能发生。 有关详细信息,请参阅 错误代码。
自定义作可以通过调用 MsiSetMode来强制在安装结束时重新启动。 自定义作还可以通过调用 MsiGetMode来检查挂起的重新启动提示。
FilesInUse 对话框
安装程序可以确定何时需要重新启动系统,并提示用户请求重新启动。 通常,系统重启是必需的,因为安装程序正在尝试安装当前正在使用的文件。 如果 InstallValidate作 检测到正在使用的文件安装,则会显示 FilesInUse 对话框。
如果希望安装程序显示 FilesInUseDialog,但不显示,这可能是由于以下原因之一导致的:
- 正在使用的文件不是可执行文件。
- 安装程序实际上并未尝试安装这些文件。
- 保存这些文件的过程是调用安装的过程。
- 保存这些文件的过程是一个没有与之关联的标题的窗口的过程。