系統重新開機
Windows Installer 可以判斷何時需要重新開機系統,並自動提示使用者在安裝結束時重新開機。 例如,如果安裝程式需要取代安裝期間使用的任何檔案,安裝程式會自動提示重新開機。
使用 Windows Installer 4.0 版或更新版本進行安裝和服務的應用程式,會自動使用 重新開機管理員 來減少系統重新開機。 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 與 重新開機管理員互動的屬性。 從 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,但不會顯示,這可能是因為下列其中一個原因所造成:
- 使用中的檔案不是可執行檔。
- 安裝程式實際上並未嘗試安裝這些檔案。
- 保存這些檔案的程式是叫用安裝的程式。
- 保存這些檔案的程式是沒有具有與其相關聯標題的視窗的程式。
如需詳細資訊,請參閱 重新開機要求記錄。