系統重新開機

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,但不會顯示,這可能是因為下列其中一個原因所造成:

  • 使用中的檔案不是可執行檔。
  • 安裝程式實際上並未嘗試安裝這些檔案。
  • 保存這些檔案的程式是叫用安裝的程式。
  • 保存這些檔案的程式是沒有具有與其相關聯標題的視窗的程式。

如需詳細資訊,請參閱 重新開機要求記錄