系統重新啟動
Windows Installer 可以判斷何時需要重新啟動系統,並自動提示使用者在安裝結束時重新啟動。 例如,如果安裝程式需要取代安裝期間使用的任何檔案,安裝程式會自動提示重新啟動。
使用 Windows Installer 4.0 版或更新版本進行安裝和維護的應用程式,會自動使用 Restart Manager 以減少系統重新啟動。 Windows Installer 4.0 版或更新版本具有屬性和原則,可讓套件作者和系統管理員控制 Windows Installer 與重新啟動管理員的互動。 如需詳細資訊,請參閱 搭配重新啟動管理員使用 Windows Installer。
安裝套件作者可以使用順序數據表中的標準動作,以及設定屬性來排程和隱藏重新啟動。 下列動作和屬性可用來處理系統重新啟動。
動作、對話框或屬性 | 簡短描述 |
---|---|
ForceReboot 巨集指令 | 提示使用者在安裝期間重新啟動。 |
ScheduleReboot 動作 | 提示使用者在安裝結束時重新啟動。 |
REBOOT 屬性 | 強制或隱藏系統重新啟動的特定自動提示。 |
REBOOTPROMPT 屬性 | 隱藏向使用者重新啟動的提示顯示。 任何需要重新啟動都會自動發生。 |
AFTERREBOOT 屬性 | 通常用於強制強制動作的條件。 |
InstallValidate 動作 | 視需要顯示 FilesInUse 對話框,讓使用者有機會關閉進程,並避免某些系統重新啟動。 |
FilesInUse 對話框 | 讓使用者有機會關閉進程,以避免某些系統重新啟動。 |
MsiRMFilesInUse 對話框 | 讓使用者選擇使用 重新啟動管理員 關閉和重新啟動應用程式。 從 Windows Installer 4.0 版開始提供。 |
ReplacedInUseFiles 屬性 | 設定安裝程式是否透過使用中的檔案進行安裝。 自定義動作會使用這個屬性來偵測需要重新啟動。 |
MSIRESTARTMANAGERCONTROL | 若要停用 Windows Installer 與 Restart Manager互動的屬性。 從 Windows Installer 4.0 版開始提供。 |
MSIDISABLERMRESTART | 指定 重新啟動管理員 關閉和重新啟動應用程式的方式。 從 Windows Installer 4.0 版開始提供。 |
MSIRMSHUTDOWN | 指定 重新啟動管理員 關閉和重新啟動應用程式的方式。 從 Windows Installer 4.0 版開始提供。 |
MsiSystemRebootPending | 如果作系統重新啟動擱置中,安裝程式會設定這個屬性。 從 Windows Installer 4.0 版開始提供。 |
DisableAutomaticApplicationShutdown | 停用 Windows Installer 與 Restart Manager互動的原則。 從 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,但不是,這可能是因為下列其中一個原因所造成:
- 使用中的檔案不是可執行檔。
- 安裝程序實際上不會嘗試安裝這些檔案。
- 持有這些檔案的程式是叫用安裝的程式。
- 持有這些檔案的程式是沒有與檔案相關聯的標題視窗的程式。
如需詳細資訊,請參閱 重新啟動要求記錄。