2014-03-19 129 views
1

在安裝MSI我我得到follwing錯誤安裝錯誤1935

Error 1935. An error occurred during the installation of assembly component {98CB24AD-52FB-DB5F-A01F-C8B3B9A1E18E}. HRESULT: 0x800736B3. assembly interface: IAssemblyCacheItem, function: Commit, assembly name: Microsoft.VC80.CRT,type="win32",version="8.0.50727.42",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="x86" 

我盡矣Microsoft_VC80_CRT_x86.msm在我的MSI。但問題是我沒有在所有機器上看到這個問題。這僅面向2012年的Windows虛擬機。

任何人都可以告訴我爲什麼這個錯誤通常會來嗎?

+1

這是ERROR_SXS_ASSEMBLY_NOT_FOUND。您會在Windows事件日誌中找到它的事件。雞與雞蛋問題,您的安裝程序需要在嘗試使用它之前安裝CRT *。是的,你不會經常看到它,因爲它經常已經安裝在一臺機器上。在原生機器上測試很重要。 –

+1

我不認爲這是這種情況。錯誤來自安裝程序的提交階段。 MsiPublishAssemblies正試圖將DLL提交到SXS並引發錯誤。谷歌搜索表明這是一個有時出現在損壞的Windows安裝中的問題。谷歌的錯誤代碼,你會得到建議運行SFC來掃描操作系統或使用系統準備工具。 –

回答

1

我認爲你有一個損壞的Windows操作系統。否則,測試配置了您想要支持的各種虛擬操作系統的虛擬機是正確的。另外我強烈建議不要使用這個合併模塊。而是使用引導程序/細化程序(WiX Burn,InstallShield安裝必備軟件或套件安裝)來安裝Microsoft的獨立版本。這有助於在Microsoft問題和安裝程序問題之間劃出一條線。它也使升級服務更容易。

0

我在Windows 7(32位)上得到了同樣的錯誤信息。 這是由於我的情況的Windows更新失敗造成的。

之後,我無法在計算機上安裝任何其他程序。我從互聯網上搜索,發現了微軟工程師提出的建議:從原始安裝光盤修復系統,取消選中「更新到最新」選項。

但是,我發現了另一個簡單的解決方案,也適用於我的情況。

1。點擊START >>並輸入「regedit」運行註冊表編輯器;

2。在寄存器中找到以下目錄:HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control;

3。按F3搜索鍵RegistrySizeLimit並雙擊DWORD;

4。將密鑰值更改爲ffffffff(十六進制)或十進制4294967295,然後單擊確定;

5。重新啓動電腦;

6。使用管理員權限運行cmd.exe,然後鍵入SFC /SCANNOW,然後在命令行中輸入;此掃描可能需要幾分鐘時間,直到狀態爲100%並結束;

然後問題可以修復!

0

我在安裝我的MSI所需的.NET Framework 4.5後,在我的Win7x64虛擬機中出現此錯誤。我有一個新的操作系統安裝沒有Windows更新,再加上VS2005 SP1。我運行了這個Microsoft FixIt:http://support.microsoft.com/kb/976982/en-us,但它沒有幫助,直到我重新啓動虛擬機。一旦我重新啓動VM,錯誤消失。我認爲我需要的只是重新啓動,但我提供了上述細節,以防FixIt實際上修復了它。