使用重新開機管理員
下列各節說明如何使用重新開機管理員 API。 您的應用程式和服務也應該遵循 應用程式和服務的指導方針。
使用 Microsoft Windows Installer
Microsoft Windows Installer 4.0 版是 Windows Vista 或 Windows Server 2008 的應用程式安裝服務。 使用 Windows Installer 4.0 版進行安裝和服務的應用程式,會自動使用重新開機管理員來減少系統重新開機。 自訂安裝程式也可以設計為呼叫重新開機管理員 API,以直接關閉和重新開機應用程式和服務,以避免需要系統重新開機。 在系統重新開機無法避免的情況下,安裝程式可以使用 InitiateShutdown 或 ExitWindowsEx 函式來排程它,以便將中斷降到最低。 互動式 Windows Installer 套件應該實作包含 MsiRMFilesInUse 對話方塊的使用者介面。 For more information, see Using Windows Installer with Restart Manager in the Windows Installer SDK documentation.
使用重新開機管理員 API 搭配自訂安裝程式
自訂安裝程式或包含造成系統重新開機之自訂動作的 Windows Installer 套件,可以使用重新開機管理員 API 來關閉及重新開機應用程式和服務。
- 使用重新開機管理員 API 執行的所有作業都必須與會話相關聯。 每個使用者會話最多可以開啟 64 個重新開機管理員會話,同時在系統上開啟。 主要安裝程式會啟動並結束重新開機管理員會話。 如需搭配單一安裝程式使用重新開機管理員的詳細資訊,請參閱搭配主要 安裝程式使用重新開機管理員。
- 如果需要安裝,可以加入一或多個次要安裝程式到重新開機管理員會話,並可執行主要安裝程式的進程內或跨進程。 次要安裝程式要求主要安裝程式提供工作階段金鑰以加入會話。 如需使用次要安裝程式的詳細資訊和範例,請參閱 搭配次要安裝程式使用重新開機管理員。
- 互動式安裝程式應實作使用者介面,其中包含 MsiRMFilesInUse 對話方塊,可要求使用者關閉應用程式和服務。 For more information, see Using Windows Installer with Restart Manager in the Windows Installer SDK documentation.
- 安裝程式可以呼叫重新開機管理員 API 來變更、取消和取得目前重新開機管理員作業的狀態。 如需詳細資訊,請參閱下列主題: 取得重新開機管理員作業的狀態 和 取消目前的重新開機管理員作業。
- 安裝程式不應該在呼叫重新開機管理員 API 之前停用檔案系統重新導向。 某些 32 位安裝程式在 64 位 Windows 上執行,可能無法在 %windir%\system32 目錄中註冊檔案。