使用重启管理器
以下部分介绍如何使用 Restart Manager API。 应用程序和服务还应遵循 应用程序和服务指南。
使用 Microsoft Windows 安装程序
Microsoft Windows Installer 版本 4.0 是 Windows Vista 或 Windows Server 2008 的应用程序安装服务。 使用 Windows Installer 4.0 版进行安装和维护的应用程序会自动使用重启管理器来减少系统重启。 还可以将自定义安装程序设计为调用 Restart Manager API,以直接关闭和重启应用程序和服务,以避免需要重启系统。 如果系统重启是不可避免的,安装程序可以使用 InitiateShutdown 或 ExitWindowsEx 函数来计划它,以便最大程度地减少对用户的干扰。 交互式 Windows 安装程序包应实现包含 MsiRMFilesInUse 对话框的用户界面。 有关详细信息,请参阅 Windows Installer SDK 文档中的 将 Windows Installer 与重启管理器配合使用 。
将重启管理器 API 与自定义安装程序配合使用
自定义安装程序或包含导致系统重启的自定义操作的 Windows 安装程序包可以使用 Restart Manager API 来关闭和重启应用程序和服务。
- 使用重启管理器 API 执行的所有操作都必须与会话相关联。 每个用户会话最多可同时在系统上打开 64 个 Restart Manager 会话。 主安装程序启动并结束重启管理器会话。 有关将 Restart Manager 与单个安装程序配合使用的详细信息,请参阅 将 Restart Manager 与主安装程序配合使用。
- 如果需要进行安装,可以将一个或多个辅助安装程序加入 Restart Manager 会话,并且可以在进程内或进程外运行主安装程序。 辅助安装程序要求主安装程序提供会话密钥才能加入会话。 有关详细信息和使用辅助安装程序的示例,请参阅 将 Restart Manager 与辅助安装程序配合使用。
- 交互式安装程序应实现包含 MsiRMFilesInUse 对话框的用户界面,该对话框可要求用户关闭应用程序和服务。 有关详细信息,请参阅 Windows Installer SDK 文档中的 将 Windows Installer 与重启管理器配合使用 。
- 安装程序可以调用 Restart Manager API 来更改、取消和获取当前重启管理器操作的状态。 有关详细信息,请参阅以下主题: 获取重启管理器操作的状态 和 取消当前重启管理器操作。
- 在调用 Restart Manager API 之前,安装程序不应禁用文件系统重定向。 某些在 64 位 Windows 上运行的 32 位安装程序可能无法在 %windir%\system32 目录中注册文件。