應用程式部署期間 Windows Installer 無法完成安裝復原作業

Kelvin Chan 60 信譽點數
2026-11-12T01:44:54.1333333+00:00

在部署應用程式時,安裝程序發生失敗,且 Windows Installer 無法順利完成復原(Rollback)作業。應如何系統性地調查復原指令碼(Rollback Scripts)、遭鎖定的檔案、自訂動作(Custom Actions),以及安裝程序未完整執行所造成的異常狀態,以找出問題的根本原因並安全地恢復系統至安裝前的狀態?

Windows 商務版 | Windows 365 企業版
0 則留言 沒有留言

1 個回答

排序依據: 最實用
  1. Domic Vo 37,000 信譽點數 獨立顧問
    2026-11-12T03:51:06.93+00:00

    您好,

    當 Windows Installer 安裝應用程式失敗,且復原程序也無法完整執行時,通常需要檢查復原指令碼、檔案鎖定、安裝套件中的自訂動作,以及安裝過程中未成功回復的系統變更。

    首先,請勿直接刪除 Windows Installer 暫存檔或相關登錄機碼。 這可能破壞安裝程式的修復及解除安裝功能。建議先保留安裝記錄,再確認失敗發生在哪個階段。

    1. 啟用詳細安裝記錄

    使用以下命令重新執行安裝,產生完整記錄:

    msiexec /i "C:\Install\package.msi" /L*V "C:\Temp\install.log"
    

    開啟記錄並搜尋 Return value 3,檢查其前面的執行內容,找出最先失敗的安裝動作。同時留意 Rollback、CustomAction、Access denied 及 File in use 等訊息。

    1. 檢查復原指令碼及暫存檔案

    確認系統磁碟空間、Windows Installer 服務狀態,以及相關目錄的存取權限。Windows Installer 會在安裝期間建立復原資料,以便還原被取代或刪除的檔案。

    不要直接刪除 %WINDIR%\Installer 內的檔案,否則可能影響其他應用程式的修復及解除安裝功能。

    1. 排查遭鎖定的檔案

    使用 Microsoft Sysinternals Process Explorer 或 Handle.exe,確認是否有其他程序占用安裝目標檔案。

    例如:

    handle.exe "C:\Program Files\Vendor\App"
    

    確認占用程序後,先正常停止相關服務或應用程式,再重新執行修復。不要直接強制終止系統程序。

    1. 檢查自訂動作

    如果安裝套件包含自訂動作,應確認延後執行的自訂動作是否具有對應的復原動作。

    復原動作必須在對應的延後執行動作之前排入執行順序,確保安裝失敗時能夠撤銷已完成的系統變更。若自訂動作修改了服務、檔案或登錄機碼,必須確認這些變更都有相應的復原邏輯。

    1. 安全恢復系統狀態

    確認安裝程序已完全停止,且沒有其他安裝作業正在執行後,優先使用原廠安裝套件提供的修復或解除安裝功能。

    如果仍有殘留的服務、檔案或登錄設定,應依照原始安裝設定進行修復,不要直接清除 Windows Installer 資料庫或手動刪除系統安裝資料。

    結論: 應先從詳細安裝記錄找出第一個失敗的動作,再確認復原指令碼、檔案占用情況及自訂動作的復原邏輯。只有確認根本原因後,才進行針對性的修復,避免破壞其他應用程式的安裝資訊。

    希望以上內容能幫助您更深入了解並解決問題。如果這個回答對您有所幫助,歡迎接受此答案。如有其他問題,請隨時留言。祝您有美好的一天!

    Domic Vo.

    此回答有幫助嗎?

    0 則留言 沒有留言

您的回答

答案可由問題作者標示為「已接受」,而由仲裁者標示為「推薦」,這可協助使用者知道答案解決了作者的問題。