本文內容
本文由高級支持升級工程師 埃里克·阿什頓撰寫。
本文介紹有關如何確定和修復 安裝失敗的技術。 這些技術可以應用于使用 (MSI) 的所有 安裝。
啟用詳細日志記錄
排查 安裝失敗問題時,請確保啟用 MSI 詳細日志記錄。 在 中,有一個默認創建的setup.exe日志文件。 但是,它不提供診斷安裝失敗時通常需要的詳細信息。 啟用詳細 MSI 日志記錄后,將為 安裝的每個組件獲取詳細日志文件。 你將擁有用于安裝 Word 組件、Excel 等的詳細日志。
若要啟用詳細日志記錄,請設置以下注冊表項:
\\\\\
“Debug”=dword:
“”=“”
有關 日志記錄的詳細信息,請參閱 如何啟用 日志記錄。
執行安裝嘗試
如果通過雙擊setup.exe在計算機上以登錄用戶的身份手動運行安裝,則將在執行安裝的用戶 的 %temp% 目錄中生成日志文件。
現在,你已啟用詳細日志記錄并知道應在何處查找日志,只需重試安裝即可。 它以前失敗,預計會再次失敗。 但是,這一次,你已準備好捕獲日志文件,這些文件的詳細信息足以幫助你診斷故障點。
分析日志
安裝嘗試后,你會發現臨時目錄中的安裝有介于 1 到 20 個日志之間。
下面是安裝嘗試中的詳細日志的屏幕截圖。
查看 MSI 日志時,我們通常希望在日志中查找值 3 條目。 安裝程序在安裝過程中返回指示特定函數是否成功的代碼。
在良好的安裝中,通常不會在日志中看到任何 值 3 條目。
因此,有許多日志需要驗證。 建議從setup.exe日志開始。 發生故障時,此日志中通常包含值 3 條目。 但是,此日志不夠清晰,無法診斷問題。 如果沒有 值 3 條目,請查找 回滾包的第一個實例。 回滾包指示 安裝失敗, 正在嘗試“回滾”安裝。 此時應能夠立即識別故障。 一旦在setup.exe日志中找到 值 3 或 回滾包 ,就應該能夠識別哪個組件失敗,然后從那里查找與該組件對應的特定 MSI 日志。
通常有多個 值 3 或 回滾包 條目。 應重點關注找到的第一個條目。
下面是 安裝失敗的一些示例,以及如何識別故障點。
分析日志示例 1: 2010 安裝
在此示例中,在setup.exe日志中找不到 值 3 條目,然后搜索回 滾包的setup.exe日志。
你可能會發現以下錯誤:
錯誤:無法安裝產品:C:\\All Users\GUID-C\.msi :1603 (0x643) 。
日志級別從:標準更改為:詳細
回滾鏈
日期/時間回滾包:
此錯誤不會說明安裝失敗的原因。 但它確實告訴你,安裝.msi文件期間發生了故障。 然后,必須找到與.msi關聯的詳細 MSI 日志。
注意
例如,在 .LOG 的底部,可以看到如下所示的信息:
MSI (的) (50:CC) [時間]: 注意: 1: 1724
MSI (的) (50:CC) [時間]:產品: MUI (英語) 2010 - 刪除已成功完成。
因此,這是 MUI 組件的詳細 MSI 日志,該組件來自回滾 (安裝失敗發生的時間早于此回滾) 。
當發現 日志 (它是最大的) 日志時,會看到以下信息,指示它是 日志:
產品:C:\\All Users\GUID-C\.msi
在日志中搜索 值 3 條目時,可能找不到一個條目,但日志底部可能會出現以下錯誤:
MSI () (B0:14) [時間]:安裝操作期間的內部異常: 。MSI (的) (B0:14) [時間]:禁用了用于無提示安裝的 WER 報表。MSI (的) (B0:14) [時間]:內部 MSI 錯誤。安裝程序提前終止。內存不足。在重試之前關閉其他應用程序。MSI (的) (B0:14) [時間]: 返回 1603。
這是有關 的已知問題。 若要解決此問題,請安裝 修補程序。 安裝修補程序并重新啟動后,安裝成功。
分析日志示例 2: 2010 獨立安裝
在此示例中,在setup.exe日志中找不到 值 3 條目,然后搜索回 滾包的setup.exe日志。 你可能會發現以下錯誤:
錯誤:無法安裝產品:C:\\All Users\GUID-C\.msi : 1601 (0x641) 。
日志級別從:標準更改為:詳細
回滾鏈
日期/時間回滾包:
該錯誤不會說明安裝失敗的原因,但它會告訴你安裝.msi文件期間發生故障。 查看日志文件時,可能會找到.msi日志:
產品:C:\\All Users\GUID-C\.msi
搜索 值 3 條目時,會發現以下錯誤:
.x86::初始化 .re.x86:錯誤:無法初始化 SPP 令牌存儲。:。.x86:MSI (的) (2C:D0) [時間]:用戶策略值“”為 0MSI (的) (2C:D0) [時間]:計算機策略值“”為 0操作結束時間:。返回值 3。
若要解決此問題,請確保網絡服務正在運行,然后確保存在以下注冊表項。
分析日志示例 3: 2010
在下一個示例中,在setup.exe日志中找到類似于以下錯誤的值 3 條目:
MSI (錯誤) :“錯誤 1304。 寫入文件時出錯:C:\\\\.8.0..VC80._x-\8.0.50727.4053.。 驗證你是否有權訪問該目錄。
日志級別從:標準更改為:詳細
未顯示消息,因為已設置取消模式。 標題:“安裝”,消息:“錯誤 1304。 寫入文件時出錯:C:\\\\.8.0..VC80._x-\8.0.50727.4053.。 驗證你是否有權訪問該目錄。
返回的消息:2
MSI (用戶) :“是否確定要取消?
MSI (INFO) :“操作 14:03:01 結束:。 返回值 3。
當你在setup.exe日志中看到值 3 條目時錯誤1406安裝程序無法將值寫入注冊表項,它有時會提供足夠的信息來解決問題,而無需查看詳細的 MSI 日志。 在這種情況下,詳細的 MSI 日志只是重復了我們在setup.exe日志中找到的內容。
在這種情況下,應考慮更新 .net ,并在 c:\\ 中驗證權限。
詳細日志和可能的分辨率中的已知錯誤
其中一些建議討論如何使用注冊表項。
警告
請仔細遵循本部分中的步驟進行操作。 如果注冊表更改不正確,可能出現嚴重問題。 在更改注冊表之前,在出現問題時 備份注冊表以進行還原 。
錯誤 1935
錯誤 1935。 安裝程序集組件期間出錯。 :。 程序集接口:,函數:tem,程序集名稱:.VC90.ATL,=“9.0.30729.4148”,type=“win32”,e=“amd64”,=“”
MSI () (1C:9C) [時間]:用戶策略值“”為 0
MSI () (1C:9C) [時間]:計算機策略值“”為 0
操作結束時間:。 返回值 3。
解決方案
由于升級 時出現問題,這種情況最為常見。 首先要嘗試在安裝新版本之前刪除早期版本的 。 可以使用此處的相應工具自動刪除早期版本的 。 刪除早期版本的 后,請嘗試安裝較新版本的 。
1913
錯誤 1913:安裝程序無法更新文件 C://win.ini。驗證該文件是否存在于系統中,并且你有足夠的權限來更新它。
原因
Trend Micro 存在一個已知問題,可能會導致此問題并阻止 安裝。
解決方案
如果使用防病毒軟件或其他安全軟件,請考慮卸載它,重新啟動并再次嘗試安裝。
錯誤 1714
錯誤 1714。 安裝程序無法刪除舊版 2007。 請聯系 產品支持服務 (PSS) 以獲取幫助。 有關如何聯系 PSS 的信息,請參閱 C:\~1\\~1\Temp\\.CHM。
解決方案
錯誤 1719
錯誤 1719。 無法訪問 安裝程序服務。 如果未正確安裝 安裝程序,則可能會發生這種情況。 請聯系支持人員尋求幫助。
原因
如果注冊表項在\\\\時損壞或不正確,則會出現此問題。
解決方案
方法 1:
從使用相同 OS 和 版本的已知好計算機導出 注冊表項。
備備,然后刪除壞計算機上的現有 密鑰:
\\\\
將注冊表文件從已知的好計算機導入到錯誤的計算機。
重新啟動,然后重試安裝。
方法 2:
嘗試安裝 時,請參閱“無法訪問 安裝程序服務”錯誤消息。
錯誤 1406
錯誤 1406.Setup 無法將值寫入注冊表項 \CLSID\GUID。 驗證你是否有足夠的權限訪問注冊表或聯系 產品支持服務 (PSS) 以獲取幫助。 有關如何聯系 PSS 的信息,請參閱 C:\Users\~1\\Local\Temp\\.CHM。
日志級別從:標準更改為:詳細
MSI (INFO) :“操作結束時間:。 返回值 3。
原因
此錯誤指示注冊表權限不正確。 在此示例中,你會發現\CLSID\GUID注冊表權限不正確。
解決方案
用于安裝 的用戶帳戶必須有權訪問有關注冊表項。 還可以比較安裝成功的設備上的注冊表權限。
錯誤 1920
錯誤 1920。 服務“ 軟件保護平臺” () 無法啟動。 驗證你是否有足夠的權限來啟動系統服務。
日志級別從:標準更改為:詳細。
MSI (INFO) :“操作結束時間:。 返回值 3。
原因
此錯誤指示可能對 文件夾具有不正確的權限或對\APPID的權限不正確。
解決方案
方法 1:
向網絡服務帳戶授予 文件夾的完全權限。
方法 2:
將來自好計算機的\APPID權限與問題計算機進行比較。嘗試向以下權限授予“受限”: 查詢值、 枚舉子項、 通知和 讀取控制。錯誤::: () 返回
:: () 返回 tion () 錯誤:由于另一個事務正在運行,嘗試失敗。
嘗試回滾當前事務 ({GUID}) :: () 返回。
() 錯誤:無法重啟當前事務。
() 錯誤:無法回滾當前事務。 注冊將中止。
未創建注冊會話 {GUID}。
操作結束時間:。 返回值 3。
解決方案
請參閱 KB 2007 套件或 2010 套件安裝程序在初始安裝中斷后不會重啟。
錯誤:無法注冊插件。 :
MSI () (08:6C) [時間]:調用遠程自定義操作。 DLL: C:\\\.tmp, :
.x86::初始化 .x86
.x86:注冊 'C:\ Files\ Files\ \\.DLL' 'C:\ Files\ Files\ \\-spp---.xrm-ms'
.x86:錯誤:無法注冊插件。:。
.x86:MSI (的) (08:58) [時間]:用戶策略值“”為 0MSI () (08:58) [時間]:計算機策略值“”為 0
操作結束 12:32:42:。 返回值 3。
原因
問題計算機上的策略 (本地或通過組策略對象 (GPO) ) 配置錯誤。
解決方案
在搜索框中鍵入 .MSC 以打開本地組策略編輯器。查找 計算機配置> 設置>安全設置>本地策略>用戶權限分配。確保每個人都有權使用 “繞過遍歷”檢查 策略。 默認情況下,“安全設置”中列出了“每個人”。
有關詳細信息,請參閱 如果更改安全設置和用戶權限分配,可能會出現客戶端、服務和程序問題。
錯誤: 失敗
:“.exe”即“C:\ Files\ \\.man”:已成功安裝發布者和頻道。但是,無法啟用一個或多個發布者和頻道。訪問被拒絕。
:錯誤:命令行返回錯誤。:錯誤: 失敗
t 返回了實際錯誤代碼 1603 (請注意,如果在沙盒中進行翻譯,這可能不準確 100%)
MSI () (88:04) [時間]:用戶策略值“”為 0MSI () (88:04) [時間]:計算機策略值“”為 0
操作結束時間:。 返回值 3。
原因
可能會出現此問題,因為“C:\\\\Logs”文件夾上的權限設置不正確。
解決方案
授予 每個人 對該文件夾的完全權限,然后重試安裝。 如果成功錯誤1406安裝程序無法將值寫入注冊表項,則可以在之后刪除“每個人”組。
錯誤: 失敗
:“.exe”即“C:\ Files\ \\.man”:已成功安裝發布者和頻道。但是,無法啟用一個或多個發布者和頻道。接口未知。
:錯誤:命令行返回錯誤。:錯誤: 失敗
t 返回的實際錯誤代碼 1603 (請注意,如果在沙盒中發生轉換) MSI (的) (6C:6C:6,則此操作可能不準確 100%) [時間]:用戶策略值“”為 0MSI () (6C:84) [時間]:計算機策略值“”為 0
操作結束時間:。 返回值 3。
原因
如果 事件日志 服務未運行,則可能會出現此問題。
解決方案
單擊“開始”或“搜索”,鍵入 .msc,然后按 Enter。向下滾動到 事件日志 服務,并確保它設置為自動。 如果它未運行,請右鍵單擊它,然后選擇 “開始”。
可能會收到如下所示的錯誤:
錯誤 4201:傳遞的實例名稱未被 WMI 數據提供程序識別為有效。
在這種情況下,請執行以下操作:
檢查“c:\\\\wmi\”文件夾的權限。如果系統帳戶沒有 完全控制 權限,請授予系統帳戶 完全控制 權限,然后重啟系統。檢查并查看 事件日志服務 是否已在 .msc 中啟動。 如果現在已正確啟動,請重試 安裝。