天天看點

關于Windows Installer服務出錯解決方法收藏。

方法一:

解除安裝,重新安裝windows installer服務 

一、先用msiexec /unregserver 停掉windows installer服務。 

二、下載下傳InstMsiW.exe,用winrar解壓開。進入目錄。 

三、右擊msi.inf ,點選安裝,右擊mspatcha.inf ,點選安裝。 

四、再用msiexec.exe /regserver 啟用服務。

方法二:

這是由于一些軟體制作的問題導緻windows installer不能正常工作

恢複步驟如下:

1.再次安裝windows installer2.0,運作instmsiw.exe

如果說"服務已經安裝"然後直接退出安裝就再跟着做,否則你重裝就OK了!

2.删除系統資料庫中的[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSIServer]

然後運作instmsiw.exe

3.絕招:

(1) 删除msiserver 服務

運作regedit,删除下面的MSIServer 服務

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSIServer]

把下面的内容存為unmsiserver.reg 檔案,然後輕按兩下左鍵,把它合并進系統資料庫中

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;unmsiserver.reg

Windows Registry Editor Version 5.00

[-HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesMSIServer]

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(2) 删除msi 的檔案

用下面的腳本存為一個unmsi.inf檔案,然後在inf檔案上右鍵單擊install,就會删除一些msi的dll,這時windows 的 sfc機制可能警告一些系統檔案被修改要求插入win2k的CD光牒,不理睬它。這個腳本是我從instmsiw.exe中修改得來的。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;unmsi.inf

;;;;;;;;;;;;;;;;;

[Version]

signature = "$Windows NT$"

Class = %ExceptionClassDesc%

ClassGUID = {F5776D81-AE53-4935-8E84-B0B283D8BCEF}

Provider = %Microsoft%

CatalogFile = msi.cat

ComponentId = {2E742517-5D48-4DBD-BF93-48FDCF36E634} ; GUID assigned to the Windows Installer

DriverVer=03-13-2001, 2.0.2460.1

[SourceDisksNames]

1 = %msi_media%

[SourceDisksFiles]

msi.dll = 1

msihnd.dll = 1

msimsg.dll = 1

msiexec.exe = 1

msisip.dll = 1

[DestinationDirs]

Msi.SystemFiles = 11 ; %windir%system32

Msi.DllCacheFiles = 11,dllcache ; %windir%system32dllcache

[DefaultInstall]

DelFiles = Msi.SystemFiles,Msi.DllCacheFiles

;

; COPYFLG_REPLACE_BOOT_FILE flag (0x1000) not necessary for

; files in the dllcache

[Msi.DllCacheFiles]

msi.dll

msihnd.dll

msimsg.dll

msiexec.exe

msisip.dll

[Msi.SystemFiles]

msi.dll 

msihnd.dll 

msimsg.dll 

msiexec.exe 

msisip.dll 

[Strings]

Microsoft = "Microsoft Corporation"

msi_media = "Microsoft Windows Installer Distribution Media"

ExceptionClassDesc = "Microsoft Windows Installer"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(3) 重新啟動,按F8鍵,進入帶指令行的安全模式,執行下面的指令

regsvr32 /u %windir%msi.dll

del %windir%msi.dll

(4) 重新開機動,運作instmsiw.exe,安裝windows installer2.0 ,一切正常了。

本文轉自 蘇繁 51CTO部落格,原文連結:http://blog.51cto.com/goxia/220485,如需轉載請自行聯系原作者

繼續閱讀