我猜這是 Windows Installer 的問題。我嘗試過重新啟動服務但沒有效果。我無法安裝任何以.msi。有時我會收到這樣的錯誤訊息:
事件檢視器日誌:
Python 安裝程式:
產品:Python 2.7.3 - 錯誤 1723。無法執行完成此安裝所需的 DLL。請聯絡您的支援人員或軟體包供應商。操作 CheckDir,條目:_CheckDir@4,庫:C:\Users\x\AppData\Local\Temp\MSI570C.tmp
SSDLife安裝程序:
產品:SSDlife Pro - 錯誤 1723。無法執行完成此安裝所需的 DLL。請聯絡您的支援人員或軟體包供應商。操作 WIX_TestVersion,條目:WIX_TestVersion,庫:C:\Users\x\AppData\Local\Temp\MSIA32E.tmp
搜尋錯誤 1723:如果您的 Windows Installer 版本過時,可能會發生此錯誤
我獲得了幾個 Windows Installer 鏈接,但它們的支援作業系統列表中都沒有 Windows 7。
https://www.microsoft.com/en-us/download/details.aspx?id=25和
Windows(7 x64) 是最新的。
也嘗試了這個修復:http://support.microsoft.com/mats/Program_Install_and_Uninstall
但並沒有發現任何問題。
答案1
我也遇到了這個問題。阿列克謝·伊万諾夫的回答並沒有給我太大幫助,但它確實激發了我去調查C:\Users\x\AppData\Local\Temp
。
像往常一樣,錯誤訊息只有一半用處。就我而言,DLL 並沒有丟失——安裝程式沒有存取該資料夾的權限。我沒有嘗試以管理員身份運行安裝程式——考慮到我已經在使用管理員帳戶並且期望 UAC 來處理權限提升,這對我來說沒有意義。不管怎樣,就像 Windows 中的許多事情一樣,這整件事對我來說有點神秘。
儘管如此,在轉到資料Properties > Security
夾C:\Users\x\AppData\Local\Temp
並給出Everyone
Full control
允許,以前失敗的安裝程式現在可以工作了!萬歲!由於Everyone
已經擁有Read
並Write
訪問,我懷疑Full control
還添加了必要的Execute
權限。
現在我想知道的是,這首先是如何發生的,以及目錄的正確權限應該是什麼。
答案2
一個簡單的解決方法是以管理員身份運行命令 shell(只需搜尋 cmd.exe,然後右鍵單擊 -> 以管理員身份運行),然後轉到 MSI 包的位置並運行msiexec /i packagename.msi
.這對我有用。
答案3
您的系統肯定缺少所需的 DLL。
在您描述的兩種情況下,Windows Installer 會嘗試執行位於 DLL 中的自訂操作。這些 .tmp 檔案:C:\Users\x\AppData\Local\Temp\MSI570C.tmp
實際上C:\Users\x\AppData\Local\Temp\MSIA32E.tmp
是從 MSI 中提取的 DLL 檔案。
但由於某種原因,它無法載入 DLL。
最重要的是找出缺少哪個DLL。當螢幕上顯示錯誤訊息時,請前往臨時目錄並查看臨時 DLL 檔案是否仍然存在。如果存在,則使用 DLL 副檔名複製它。然後,要找出所需的 DLL 中缺少哪一個,您可以使用depends.exe
Visual Studio 中的實用程式。
如果臨時檔案已被刪除,則獲取 DLL 的唯一方法是將其從套件中提取,從Binary
桌子。
我有兩個最可能的候選者:缺少 Visual C++ 運行時或缺少 .Net 運行時。然而,這只是猜測…
答案4
這些解決方案都不適合我,但是當我直接進入下載資料夾時,右鍵單擊我想要執行的安裝的圖標,然後單擊“以管理員身份運行”,它安裝時沒有任何錯誤訊息。