[?]整合HotFix造成windows installer 服務 遺失



贊助商連結


purk
2009-01-09, 07:39 PM
這是首次發現有這樣的情況

以往使用nlite直接整合hotfix都沒有此狀況

了不起只是無法整合進入的警告

這幾天無聊整合了一下sp3之後的一些hotfix到xp-with-sp3內

下面是整合的hotfix

好玩的事情是

整合好之後

測試安裝

居然windows installer 服務 遺失

不存在於服務列表內

結果造成軟體都無法安裝

請問有其他人碰過嗎?

THX

WindowsXP-KB889320-v2-x86-CHT.exe
WindowsXP-KB915800-v4-x86-ENU.exe
WindowsXP-KB927436-v2-x86-CHT.exe
WindowsXP-KB932521-x86-CHT.exe
WindowsXP-KB932578-x86-CHT.exe
WindowsXP-KB934401-x86-CHT.exe
WindowsXP-KB938464-x86-CHT.exe
KB938464.exe
WindowsXP-KB938759-x86-CHT.exe
WindowsXP-KB940648-x86-CHT.exe
WindowsXP-KB943232-v2-x86-CHT.exe
KB944043-v3.exe
WindowsXP-KB945060-v3-x86-ENU.exe
WindowsXP-KB945436-x86-CHT.exe
WindowsXP-KB946648-x86-CHT.exe
WindowsXP-KB947460-v2-x86-CHT.exe
WindowsXP-KB948101-v3-x86-CHT.exe
WindowsXP-KB948277-x86-CHT.exe
WindowsXP-KB948698-x86-ENU.exe
WindowsXP-KB948720-x86-CHT.exe
WindowsXP-KB948877-v2-x86-ENU.exe
WindowsXP-KB949033-x86-CHT.exe
WindowsXP-KB949127-v2-x86-CHT.exe
WindowsXP-KB949764-x86-CHT.exe
WindowsXP-KB949900-x86-CHT.exe
WindowsXP-KB950304-v2-x86-CHT.exe
WindowsXP-KB950312-x86-CHT.exe
WindowsXP-KB950616-x86-CHT.exe
KB950759.exe
WindowsXP-KB950762-x86-CHT.exe
KB950762.exe
WindowsXP-KB950820-x86-CHT.exe
KB950974.exe
WindowsXP-KB950974-x86-CHT.exe
WindowsXP-KB950982-x86-CHT.exe
WindowsXP-KB951066-x86-CHT.exe
KB951066.exe
WindowsXP-KB951159-x86-CHT.exe
WindowsXP-KB951163-x86-CHT.exe
WindowsXP-KB951312-x86-CHT.exe
WindowsXP-KB951347-x86-ENU.exe
KB951376-v2.exe
WindowsXP-KB951531-v2-x86-CHT.exe
KB951618-v2.exe
WindowsXP-KB951624-x86-CHT.exe
KB951698.exe
WindowsXP-KB951698-x86-CHT.exe
WindowsXP-KB951709-x86-CHT.exe
KB951748.exe
WindowsXP-KB951748-x86-CHT.exe
WindowsXP-KB951822-v2-x86-CHT.exe
KB951830.exe
KB951978.exe
WindowsXP-KB952117-v2-x86-CHT.exe
WindowsXP-KB952206-x86-CHT.exe
KB952287.exe
WindowsXP-KB952595-v3-x86-CHT.exe
WindowsXP-KB952909-v2-x86-CHT.exe
KB952954.exe
WindowsXP-KB952954-x86-CHT.exe
WindowsXP-KB953024-x86-CHT.exe
WindowsXP-KB953028-x86-CHT.exe
WindowsXP-KB953155-x86-CHT.exe
KB953155.exe
WindowsXP-KB953546-x86-ENU.exe
WindowsXP-KB953609-x86-CHT.exe
WindowsXP-KB953760-x86-CHT.exe
WindowsXP-KB953761-x86-CHT.exe
WindowsXP-KB953929-x86-CHT.exe
WindowsXP-KB953930-x86-CHT.exe
WindowsXP-KB954193-x86-CHT.exe
KB954211.exe
WindowsXP-KB954211-x86-CHT.exe
WindowsXP-KB954232-x86-CHT.exe
WindowsXP-KB954434-x86-CHT.exe
WindowsXP-KB954459-x86-CHT.exe
KB954459.exe
KB954708.exe
KB954920-v2.exe
WindowsXP-KB955043-v2-x86-CHT.exe
WindowsXP-KB955109-x86-CHT.exe
WindowsXP-KB955356-x86-CHT.exe
KB955417.exe
WindowsXP-KB955535-x86-CHT.exe
WindowsXP-KB955567-x86-CHT.exe
WindowsXP-KB955576-x86-CHT.exe
WindowsXP-KB955832-v2-x86-CHT.exe
KB955839.exe
WindowsXP-KB955843-v4-x86-CHT.exe
WindowsXP-KB955988-x86-CHT.exe
WindowsXP-KB956072-x86-CHT.exe
KB956390.exe
KB956802.exe
WindowsXP-KB956802-x86-CHT.exe
WindowsXP-KB956803-x86-CHT.exe
KB956803.exe
WindowsXP-KB956807-x86-CHT.exe
KB956841.exe
WindowsXP-KB956841-x86-CHT.exe
KB957095.exe
WindowsXP-KB957095-x86-CHT.exe
WindowsXP-KB957218-x86-CHT.exe
WindowsXP-KB957264-x86-CHT.exe
WindowsXP-KB957495-x86-CHT.exe
WindowsXP-KB957502-x86-CHT.exe
WindowsXP-KB957808-x86-CHT.exe
WindowsXP-KB958071-x86-CHT.exe
WindowsXP-KB958149-x86-CHT.exe
WindowsXP-KB958200-x86-CHT.exe
KB958215.exe
WindowsXP-KB958244-x86-CHT.exe
WindowsXP-KB958259-v2-x86-CHT.exe
WindowsXP-KB958347-x86-CHT.exe
KB958644.exe
WindowsXP-KB958644-x86-CHT.exe
WindowsXP-KB958655-v2-x86-ENU.exe
WindowsXP-KB958817-x86-CHT.exe
WindowsXP-KB958819-v2-x86-CHT.exe
WindowsXP-KB958877-x86-CHT.exe
WindowsXP-KB958910-x86-CHT.exe
KB959252.exe
WindowsXP-KB959267-x86-CHT.exe
WindowsXP-KB959334-x86-CHT.exe
WindowsXP-KB959465-x86-CHT.exe
WindowsXP-KB959540-x86-CHT.exe
WindowsXP-KB959562-x86-CHT.exe
WindowsXP-KB960071-v2-x86-CHT.exe
WindowsXP-KB960380-v2-x86-CHT.exe
WindowsXP-KB960417-x86-CHT.exe
WindowsXP-KB960680-v2-x86-CHT.exe
KB960714.exe
WindowsXP-KB960763-x86-CHT.exe
WindowsXP-KB961067-x86-CHT.exe

贊助商連結


Davis
2009-01-09, 08:42 PM
光碟機挑片?

mis339
2009-01-09, 10:45 PM
為何你SP3後的HotFix還有這麼多?

threesecond
2009-01-10, 11:24 PM
為何你SP3後的HotFix還有這麼多?
因為它連驗證都沒做就整合進去啊....


不信邪喔?那就繼續整合吧。 (http://bbs.mychat.to/read.php?tid=590359)

琥珀
2009-01-11, 12:10 AM
少了 942288 更新。假使沒有中文版修補程式,也不能用其他語言的代替。

purk
2009-01-12, 12:01 PM
為何你SP3後的HotFix還有這麼多?

包含 琥珀兄提供的非正式提供的hotfix


因為它連驗證都沒做就整合進去啊....


不信邪喔?那就繼續整合吧。 (http://bbs.mychat.to/read.php?tid=590359)

我覺得不能以偏蓋全

目前發現不是 'windows installer 服務'遺失

而是

windows installer 服務 變成了 'MSISERVER' 而且狀態是 "已啟動"

看來是新舊版本不合

而且整合後

好像增加了個新服務

"MS Software Shadow Copy Provider"

找了網頁

有提到服務假如真的遺失

可以這樣加回來

http://www.pcreview.co.uk/forums/thread-1544455.php

可是目前好像不是服務遺失了

http://forum.slime.com.tw/thread40263.html

重新安裝windows installer

目前由於一些軟體製作的問題(如一些rip出的綠色軟體),
導致windows installer不能正常工作,可是
由於win2ksp3已經安裝了windows installer2.0
這是最高版本的windows installer,直接執行instmsiw.exe,
就會說服務已經安裝,然後直接退出。

即使是刪除註冊表中的[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
然後執行instmsiw.exe,仍然會說服務已經安裝,然後直接退出。

我又試著用sc指令手工新增msiserver服務,仍然不能解決問題。
經過一個上午的鬥爭,終於搞定了。下面是我的步驟:
1 刪除msiserver 服務
執行regedit,刪除下面的MSIServer 服務
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
把下面的內容存為unmsiserver.reg 文件,然後雙按左鍵,把它合併進註冊表中
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;unmsiserver.reg
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer]
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

2 刪除msi 的文件
用下面的指令碼存為一個unmsi.inf文件,然後在inf文件上右鍵按擊install,
就會刪除一些msi的dll,這時windows 的 sfc機制可能警告一些系統檔案被修改
要求插入win2k的光碟,不理睬它。這個指令碼是我從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.Dll快取Files = 11,dllcache ; %windir%\system32\dllcache

[DefaultInstall]
DelFiles = Msi.SystemFiles,Msi.Dll快取Files

;
; COPYFLG_REPLACE_BOOT_FILE flag (0x1000) not necessary for
; files in the dllcache
;

[Msi.Dll快取Files]
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
一切正常了。
btw:
「-」表示刪除註冊表記錄

thx

threesecond
2009-01-12, 06:10 PM
為何你不直接預裝 Windows Installer 3.1v2?

琥珀
2009-01-12, 06:38 PM
958655 只在 MSI 4.5 版測試過。沒有安裝 942288 更新,可能就不需要 958655 更新。

purk
2009-01-12, 07:03 PM
沒錯

確定是

KBKB958655造成的問題

不更新即可

THX

Aquarius
2009-01-20, 09:54 PM
整合hotfix確實是一件很吃力費時不討好的事,
如果沒什麼必要性還是一個一個安裝會比較省時省力,

PS: 如果只是單純為了興趣, 就沒有所謂浪費時間的問題了