最近,在安裝軟體時,載入一會子總會彈出一個框:無法訪問Windows Installer服務... 這樣的錯誤,導致安裝失敗。
後來發現自己機器的COM組件載入也都出了問題,現象:
1、開始-運行-dcomcnfg,進入元件服務管理頁面中,元件服務-電腦-我的電腦 下,COM+應用程式
和DCOM配置都顯示不正常,點DCOM配置目錄,管理頁面就自動關閉了。鬱悶...
2、查看事件記錄,發覺有如下錯誤:
運行時環境檢測到其內部狀態存在不一致。這說明進程中存在潛在的不穩定性,可能是由於COM+應用程式中
運行自訂群組件、COM+ 應用程式使用的組件或其他因素引起的。
3、Google後發現有這樣的一片解決方案,E文的,這裡就簡單描述其原因和實施步驟
原因:COM+ catalog被毀壞了
解決辦法:(不適用Windows vista、Windows Server 2008、Windows Server 2008 R2、Windows 7)
3.1 Rename %windir%\system32\Clbcatq.dll to %windir%\system32\~Clbcatq.dll
3.2 停止COM+ Event System Service,並設定其啟動類型為非自動
3.3 重啟電腦並進入註冊表(regedit)
3.4 刪除註冊表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3
3.5 命令列:cd %windir%, rmdir /s Registration
3.5 控制台-添加刪除程式-添加刪除windows組件,直接next重新安裝一遍
over.
補充:如果IIS已經安裝(其會安裝好幾個COM+組件),則上述過程會導致其丟失掉這幾個組件。
命令列rundll32 %windir%\system32\inetsrv\wamreg.dll,CreateIISPackage來建立。
注意: 如果上述過程中rename/delete等操作被阻止掉,則在安全模式下進行此過程操作即可。
至此COM+錯誤解決,但Windows Installer無法訪問的錯誤依舊存在,繼續。
4、網上Google,有好多種,這裡只記錄我採用的那種。
4.1 重寫註冊表,用notepad編輯如下內容並儲存為.reg檔案,然後雙擊運行之即可完成匯入
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
"ImagePath"=-
"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6d,\
00,73,00,69,00,65,00,78,00,65,00,63,00,2e,00,65,00,78,00,65,00,20,00,2f,00,\
56,00,00,00
4.2 安全模式下鍵入 msiexec /regserver即可。