[討論]整合Windows XP PreSP4到XP內





purk
2010-12-03, 02:40 PM
雖說目前玩家已經大多升級到win7

而xp已經快成為淘汰的os

不過在sp3發表後也有上百個hotfix

在sp4發表前

是否有類似sp1 sp1a sp2 sp3之類的直接整合包

可以整合到xp內?

在根據以下幾篇的原理下

http://www.pczone.com.tw/vbb3/post/1078509/7/

http://www.pczone.com.tw/vbb3/post/1078510/8/

http://bbs.wmzhe.com/viewthread.php?tid=17580&rpid=147152&ordertype=0&page=1#pid147152

http://www.msfn.org/board/topic/44639-sfxcabexe/

http://hi.baidu.com/wd12aa/blog/item/53e835c72ce6cb1c9d163d7d.html
http://www.pczone.com.tw/vbb3/thread/25/new/152361/

補充一下第3項.
用於安裝修改過的UPDATE.INF,防止檢驗不能安裝。

XP SP3
4D250: 00 85 C0 (74 A6) -> 90 90
SFX(MSCF):9800


引用自http://www.pczone.com.tw/vbb3/post/1078510/8/

ps.所以目前應該已經有這個想法實現了

有了這樣整合包的製作想法

畢竟如果有實際比較過ms提供的sp整合包的解壓縮內容

可以發現---其實很多只是 檔案替換 + inf安裝注入reg

因此將sp3發行後的hotfix內的檔案直接替換進入sp3整合包+inf安裝注入reg

成了本文討論的重點

___________________請幫忙補完資料____________________
http://www.pczone.com.tw/vbb3/thread/25/152515/
---------------------------------讓hotfix得資料較為正確-----------------------

sp3原始的檔案叫做WindowsXP-KB936929-SP3-x86-CHT.exe

解壓縮後可以得到i386資料夾

比較這個i386資料夾與已經 with sp3後的資料夾

發現單以i386資料夾來說(不含其內子目錄)有以下的檔案是相同的
http://www.pczone.com.tw/vbb3/attachments/forum3/21209d1291358128-1.txt

再用i386內的ip資料夾比較i386

可以發現以下檔案是相同的

http://www.pczone.com.tw/vbb3/attachments/forum3/21210d1291358128-2.txt

在此幾乎可以很確定sp3的整合包大致上只是解壓縮覆蓋取代原始的xp檔案而已


_____sp3發表後更新的hotfix列表如下

-------其中可能已經有新的hotfix取代或者不需要的hotfix如下---------------
2008年

WindowsXP-KB898461-x86-cht.exe
WindowsXP-KB942288-v3-x86-x86-cht.exe
WindowsXP-KB951066-x86-cht.exe
WindowsXP-KB951748-x86-cht.exe
WindowsXP-KB953839-x86-cht.exe
WindowsXP-KB955069-x86-cht.exe
WindowsXP-KB955535-x86-cht.exe
WindowsXP-KB956391-x86-cht.exe
WindowsXP-KB956803-x86-cht.exe
WindowsXP-KB958911-x86-cht.exe
WindowsXP-KB960225-x86-cht.exe
WindowsXP-KB960803-x86-cht.exe

2009年

WindowsXP-KB923561-x86-cht.exe
WindowsXP-KB955759-x86-cht.exe
WindowsXP-KB956572-x86-cht.exe
WindowsXP-KB956744-x86-cht.exe
WindowsXP-KB956844-x86-cht.exe
WindowsXP-KB957579-x86-cht.exe
WindowsXP-KB958869-x86-cht.exe
WindowsXP-KB959426-x86-cht.exe
WindowsXP-KB960715-x86-cht.exe
WindowsXP-KB960859-x86-cht.exe
WindowsXP-KB961501-x86-cht.exe
WindowsXP-KB967715-x86-cht.exe
WindowsXP-KB968389-x86-cht.exe
WindowsXP-KB969898-x86-cht.exe
WindowsXP-KB971314-x86-cht.exe
WindowsXP-KB973687-x86-cht.exe
WindowsXP-KB974841-v2-x86-cht.exe
WindowsXP-WindowsMedia-KB954155-x86-cht.exe
WindowsXP-WindowsMedia-KB972187-x86-cht.exe

2010年
WindowsXP-KB980195-x86-cht.exe
WindowsXP-KB980218-x86-cht.exe
WindowsXP-KB981669-x86-cht.exe
WindowsXP-KB982802-x86-cht.exe

-------其中可能已經有新的hotfix取代或者不需要的hotfix如上---------------

在參考這一篇文章後
http://mimo.zxq.net/updatelist.htm
http://mimo.zxq.net/updatelist.htm


自己把XPSP3Update.2010.11內全部的hotfix使用/x指令解壓縮後

列出僅就單純更新檔案 而非增加新功能的hotfix

WindowsXP-KB2079403-x86-cht.exe
WindowsXP-KB2115168-x86-cht.exe
WindowsXP-KB2121546-x86-cht.exe
WindowsXP-KB2124261-x86-cht.exe
WindowsXP-KB2141007-x86-cht.exe
WindowsXP-KB2158563-x86-cht.exe
WindowsXP-KB2229593-x86-cht.exe
WindowsXP-KB2259922-x86-cht.exe
WindowsXP-KB2264107-x86-cht.exe
WindowsXP-KB2279986-x86-cht.exe
WindowsXP-KB2286198-x86-cht.exe
WindowsXP-KB2290570-x86-CHT.exe
WindowsXP-KB2296011-x86-cht.exe
WindowsXP-KB2345886-x86-cht.exe
WindowsXP-KB2347290-x86-cht.exe
WindowsXP-KB2360131-x86-cht.exe
WindowsXP-KB2360937-x86-cht.exe
WindowsXP-KB2387149-x86-cht.exe
WindowsXP-KB909520-x86-cht.exe
WindowsXP-KB932716-v2-x86-cht.exe
WindowsXP-KB942288-v3-x86-x86-cht.exe
WindowsXP-KB943729-x86-cht.exe
WindowsXP-KB944043-v3-x86-cht.exe
WindowsXP-KB950762-x86-cht.exe
WindowsXP-KB950974-x86-cht.exe
WindowsXP-KB951376-v2-x86-cht.exe
WindowsXP-KB951618-v2-x86-cht.exe
WindowsXP-KB951830-x86-cht.exe
WindowsXP-KB951978-x86-cht.exe
WindowsXP-KB952004-x86-cht.exe
WindowsXP-KB952013-x86-cht.exe.exe
WindowsXP-KB952287-x86-cht.exe
WindowsXP-KB952954-x86-cht.exe
WindowsXP-KB953155-x86-cht.exe
WindowsXP-KB954708-x86-cht.exe
WindowsXP-KB954920-v2-x86-cht.exe
WindowsXP-KB955417-x86-cht.exe
WindowsXP-KB955704-x86-cht.exe
WindowsXP-KB955759-x86-cht.exe
WindowsXP-KB956572-x86-cht.exe
WindowsXP-KB956744-x86-cht.exe
WindowsXP-KB956802-x86-cht.exe
WindowsXP-KB956844-x86-cht.exe
WindowsXP-KB957579-x86-cht.exe
WindowsXP-KB958644-x86-cht.exe
WindowsXP-KB958869-x86-cht.exe
WindowsXP-KB959426-x86-cht.exe
WindowsXP-KB960680-v2-x86-cht.exe
WindowsXP-KB960859-x86-cht.exe
WindowsXP-KB961451-v2-x86-CHT.exe
WindowsXP-KB961501-x86-cht.exe
WindowsXP-KB961503-x86-cht.exe
WindowsXP-KB967715-x86-cht.exe
WindowsXP-KB968389-x86-cht.exe
WindowsXP-KB969059-x86-cht.exe
WindowsXP-KB969395-x86-cht.exe
WindowsXP-KB970430-x86-cht.exe
WindowsXP-KB970483-x86-CHT.exe
WindowsXP-KB971029-x86-cht.exe
WindowsXP-KB971513-x86-cht.exe
WindowsXP-KB971657-x86-cht.exe
WindowsXP-KB971737-x86-cht.exe
WindowsXP-KB971961-JS57-x86-CHT.exe
WindowsXP-KB972270-x86-cht.exe
WindowsXP-KB973507-x86-cht.exe
WindowsXP-KB973815-x86-cht.exe
WindowsXP-KB973869-x86-cht.exe
WindowsXP-KB973904-x86-cht.exe
WindowsXP-KB974112-x86-cht.exe
WindowsXP-KB974318-x86-cht.exe
WindowsXP-KB974392-x86-cht.exe
WindowsXP-KB974571-x86-cht.exe
WindowsXP-KB975025-x86-cht.exe
WindowsXP-KB975254-x86-cht.exe
WindowsXP-KB975467-x86-CHT.exe
WindowsXP-KB975560-x86-cht.exe
WindowsXP-KB975562-x86-cht.exe
WindowsXP-KB975713-x86-cht.exe
WindowsXP-KB976323-x86-cht.exe
WindowsXP-KB977816-x86-cht.exe
WindowsXP-KB977914-x86-cht.exe
WindowsXP-KB978037-x86-cht.exe
WindowsXP-KB978338-x86-cht.exe
WindowsXP-KB978542-x86-cht.exe
WindowsXP-KB978601-x86-cht.exe
WindowsXP-KB978706-x86-cht.exe
WindowsXP-KB979309-x86-cht.exe
WindowsXP-KB979482-x86-cht.exe
WindowsXP-KB979687-x86-cht.exe
WindowsXP-KB980232-x86-cht.exe
WindowsXP-KB980436-x86-cht.exe
WindowsXP-KB981322-x86-cht.exe
WindowsXP-KB981349-x86-CHT.exe
WindowsXP-KB981669-x86-cht.exe
WindowsXP-KB981852-x86-cht.exe
WindowsXP-KB981957-x86-cht.exe
WindowsXP-KB981997-x86-cht.exe
WindowsXP-KB982000-x86-CHT.exe
WindowsXP-KB982132-x86-cht.exe
WindowsXP-KB982214-x86-cht.exe
WindowsXP-KB982316-x86-cht.exe
WindowsXP-KB982665-x86-cht.exe


----------------------首先先分析原始的xp sp3---WindowsXP-KB936929-SP3-x86-CHT--------
使用winrar或者/x解壓縮WindowsXP-KB936929-SP3-x86-CHT.exe後

可以看到一個i386資料夾

進入i386資料夾後

大概如下http://www.pczone.com.tw/vbb3/attachments/forum3/21244d1291986838-snap003085.jpg

其中要注意的是

ip資料夾(或ic資料夾)這資料夾內的內容決定了你手邊xp更新後是pro或者是home

再來是其他散亂在其間的壓縮檔案

之後將這些hotfix
WindowsXP-KB2079403-x86-cht.exe

WindowsXP-KB982665-x86-cht.exe
使用/x指令解壓縮到一個固定的資料夾

例如

WindowsXP-KB932716-v2-x86-cht.exe /x:M:\Presp4

就是將KB932716-v2解壓縮到M磁碟的Presp4資料夾

全部解壓縮後看到大致是這樣的狀態

(HOTFIX已先篩選過 只保留純更新的HOTFIX 不會有額外多的資料夾或檔案)
http://www.pczone.com.tw/vbb3/attachments/forum3/21246d1291987882-snap003093.jpg


由於SP3好像是QFE版本

所以我拿SP3QFE資料夾來當作替換的起頭

這時需要用到這篇http://www.pczone.com.tw/vbb3/thread/25/152361/提到的工具 (http://www.pczone.com.tw/vbb3/attachments/forum25/21127d1290348022-mcab.rar)

這次使用這個工具不要壓縮成單一個CAB檔案

而是要每一個單獨的壓縮擋(與i386資料夾一樣)

使用如下

http://www.pczone.com.tw/vbb3/attachments/forum3/21247d1291988037-snap003094.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21248d1291988037-snap003095.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21249d1291988037-snap003096.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21250d1291988037-snap003097.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21251d1291988037-snap003098.jpg
全部動作完畢後

使用資料夾檔案比較軟體比對一下由WindowsXP-KB936929-SP3-x86-CHT解壓出來的i386資料夾

相同檔案如下
http://www.pczone.com.tw/vbb3/attachments/forum3/21253d1291989889-snap003099.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21252d1291989504-new.txt

再將這些檔案取代i386資料夾內的檔案

取代完成後就要把整個WindowsXP-KB936929-SP3-x86-CHT資料夾壓縮了

步驟如下

http://www.pczone.com.tw/vbb3/attachments/forum3/21254d1291989889-snap003100.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21255d1291989889-snap003101.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21256d1291989889-snap003102.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21257d1291989889-snap003103.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21258d1291989889-snap003104.jpg

這時候與這一篇一樣找一個hotfix檔案提取cab的sfx擋頭部分

另外存成sp3.sfx

然後使用指令

copy /b sp3.sfx+WindowsXP-KB936929-SP3-x86-CHT.cab WindowsXP-KB936929-SP3-x86-CHT.exe
http://www.pczone.com.tw/vbb3/attachments/forum3/21259d1291991026-snap003105.jpg
產生了WindowsXP-KB936929-SP3-x86-CHT.exe檔案

這時候用hex軟體開啟WindowsXP-KB936929-SP3-x86-CHT.exe

搜尋update\update.exe

找到後前方的20修改成60
http://www.pczone.com.tw/vbb3/attachments/forum3/21260d1291991026-snap003106.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21261d1291991026-snap003107.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21262d1291991026-snap003108.jpg

存檔

執行



WindowsXP-KB936929-SP3-x86-CHT.exe /s 指令

出現以下

http://www.pczone.com.tw/vbb3/attachments/forum3/21263d1291991026-snap003109.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21264d1291991026-snap003110.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21265d1291991026-snap003111.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21266d1291991026-snap003112.jpg
http://www.pczone.com.tw/vbb3/attachments/forum3/21267d1291991026-snap003113.jpg
-------------討論------

1.目前尚未針對update.inf檔案作修改

2.因為1的關係所以hotfix內針對reg部分的修正尚未加入

3.由於修改update.inf部分需要同時更動update.exe

4.因為3的關係目前考慮修改ip資料夾內的inf檔案




emoom
2012-01-15, 08:15 AM
方向錯誤,先了解 nlite 或rmvi 指令再說.

包包的內定文件名為 entries.ini
[sysoc]
XPSP4Upd=ocgen.dll,OcEntry,xpsp4upd.inf,HIDE,7

[dosnet_files]
d1,xpsp4upd.inf

再由xpsp4upd.inf
去描述補丁.

之後由 \windows\regedit.exe 導出
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP4

下 kbxxx.exe /x 指令,解壓縮.
由文件的版本號, 查看 xpsp4upd.inf 相同文件版本號,便可知新,舊.
如果是新的, 由 regedit.exe 導出資料去修改 xpsp4upd.inf .
無須工具.

mis339
2012-01-15, 10:52 AM
以前也會想這樣玩,但對於自己的龜毛個性而言……Windows Update每個月都會更新而且有時候會有新版的更新程式來取代舊版的,所以實在不會想「整合」到Windows 安裝光碟中!

到目前為止,還是另外維護Windows Update更新程式。

底下列出2012/1月的更新清單。

tvirus
2012-01-15, 11:08 AM
我則是用WanMP做的XP更新修正包 (http://me.wmos.coms.hk/category/ms)
比較不需要一直維護更新整合至光碟片裡
對不起...我比較懶 Orz

雖然我也曾經想像樓主那樣搞...