“錯(cuò)誤1719。無(wú)法訪問(wèn)Windws Installer服務(wù)?!钡慕鉀Q思路
最近某網(wǎng)友win7 x64 sp1電腦上安裝cad2013時(shí)遇到錯(cuò)誤1719的問(wèn)題。
在安裝到cad2013的組件Autodesk Material Library 2013時(shí)出現(xiàn)錯(cuò)誤提示:
Error 1719.Windows Installer service could not be accessed.Contact your support personnel to verify that it is properly registered and enabled.

問(wèn)題電腦同樣用過(guò)auto uninstaller這個(gè)毒瘤,但是在用修復(fù)工具修復(fù)權(quán)限和1625問(wèn)題后,以上問(wèn)題并沒(méi)有解決。
在services.msc里檢查Windows Installer服務(wù),沒(méi)有禁用且能正常啟動(dòng),登錄選項(xiàng)卡是本地系統(tǒng)賬戶(hù),看上去服務(wù)就沒(méi)異常。
而且在出現(xiàn)錯(cuò)誤1719問(wèn)題時(shí),我重新把vc2005、2008、2013、2015-2022這些運(yùn)行庫(kù)的x86和x64版本都裝了一遍,沒(méi)出現(xiàn)錯(cuò)誤。按理,如果Windows Installer服務(wù)出問(wèn)題,這些運(yùn)行庫(kù)應(yīng)該裝不上才對(duì)?那到底哪里出了問(wèn)題導(dǎo)致只有Autodesk Material Library 2013組件出現(xiàn)1719錯(cuò)誤?
懷疑安裝包有問(wèn)題,我把這個(gè)組件的msi和cab文件打包到跟問(wèn)題電腦同是win7 x64 sp1系統(tǒng)的虛擬機(jī)里安裝,發(fā)現(xiàn)能正常安裝的。
用procmon監(jiān)控故障電腦的安裝過(guò)程,關(guān)注結(jié)果是access denied的事件,沒(méi)發(fā)現(xiàn)異常。于是又用procmon對(duì)比正常電腦和問(wèn)題電腦msiexec.exe進(jìn)程的load image事件。
正常電腦:

故障電腦:

從結(jié)尾處可以看到故障電腦在加載MSIBC33.tmp模塊的事件前就結(jié)束了。
查看正常電腦加載該tmp模塊事件的堆棧:

看到加載tmp模塊是msi.dll的MsiSetofflineContextW函數(shù)發(fā)起的。那有沒(méi)可能是系統(tǒng)文件msi.dll出了問(wèn)題?
用過(guò)sfc /scannow命令,但因?yàn)閭€(gè)別inf文件缺失導(dǎo)致無(wú)法繼續(xù)修復(fù)。
日志里顯示的msiexec.exe是syswow64目錄里的,要檢查的msi.dll應(yīng)該也是syswow64目錄的??紤]到vc運(yùn)行庫(kù)x86和x64都正常安裝,所以文件應(yīng)該沒(méi)損壞,所以檢查版本。

兩個(gè)目錄的msi.dll版本一致,那就檢查msiexec.exe的版本。

可以看到syswow64目錄的msiexec.exe是5.0.7601.17514,而其對(duì)應(yīng)的msi.dll是5.0.7601.24535。但system32里exe和dll的版本是一致的!這應(yīng)該就是問(wèn)題所在。
于是在winsxs目錄里找到24535版本的32位msiexec.exe,復(fù)制到syswow64目錄替換,再次安裝Autodesk Material Library 2013,問(wèn)題解決!

所以說(shuō)系統(tǒng)文件丟失或損壞時(shí)應(yīng)該用sfc命令修復(fù),或者在winsxs目錄里找正確版本的文件替換,不能去網(wǎng)上下載,下載的版本不對(duì)時(shí)會(huì)有離奇的軟件系統(tǒng)故障。