眾位都有這樣的經(jīng)歷,安裝好系統(tǒng),再去微軟升級中心升級補丁,再打上零零碎碎的其它升級補丁,沒有二三個小日寸難以搞定。當(dāng)然,也可用補丁集直接升級,如清風(fēng)無影補丁集、超級兔子升級天使、雨林木風(fēng)補丁集等,這些補丁集集成了MS補丁、Flashplayer補丁、Directx補丁、CPU升級補丁等。本文就是補丁集作者清風(fēng)無影為您介紹補丁集的制作過程,讓補丁集制作不再神秘,讓您也能簡單學(xué)會制作,集成出適合自己的補丁集。
QFE簡介
QFE-Quick-Fix Engineering廠商(比如微軟)為了及時升級和修改缺陷而做的改動叫做QFE。Windows安裝補丁文件劃分了級別,分為GDR和QFE兩類,其中GDR表示“普通分發(fā)版本”,而QFE則表示“快速修補工程更新版本”。其中GDR更新文件一般都進行了大量的嚴格測試,因此補丁的穩(wěn)定性相對較高;而QFE更新文件所做的測試相對較少,因此其穩(wěn)定性普遍不如GDR。
QFE補丁文件的攝取
微軟的補丁(安全修補丁程序)同時包含GDR與QFE版本的更新文件,那么如何把QFE專用的更,新文件提取出來呢?下面我以Windows XP Server SP2Updates補丁為例來介紹方法。
補丁文件(安全修補程序)的下載
在“http://users.telenet.be/tc76/winup/_winxpsp2html”的頁面上,已經(jīng)列出了WinXP SP2發(fā)行到現(xiàn)在為止所有的升級補丁(列表的補丁都是經(jīng)過篩選的),我們以“WindowsXP-KB873339-x86-CHS,exe”為例,直接點擊補丁的鏈接,打開補丁下載網(wǎng)頁“http;//WWW.microsoft.com/downloads/details.aspx?familyid=96BBD220-5E2A-43AD-B887-54EC608BD8BEdisplaylang=en”。將語言改為“Chinese(Simplified)”。單擊“Change”,出現(xiàn)簡體中文下載頁面,接下來,點擊下載按鈕,將其保存到“E:/update”文件夾,按照此方法,將“http://users.telenet.be/lc76/winup/_wmxpsp2.html”頁面上列表出的所有補丁,下載到“E:/update”文件夾中。
QFE補丁文件的提取方法
方法一:我們使用補丁的解壓參數(shù)“/x”來將補丁解壓,可以觀察到,解壓后的目錄結(jié)構(gòu)。在解壓后的“update”目錄有10個文件,QFE節(jié)點快速安裝命令及參數(shù)是“update.exe/q/n/z/b:SP2QFE”,其中,“/q/n/z”表示采用靜默安裝,安裝過程中不備份原有文件,安裝結(jié)束后不重新啟動:“/b:SP2QFE”是MS在update.exe里未公開的隱藏參數(shù),表示安裝的時候使用“sp2qfe.inf”里的安裝定義文件。
我們先啟動軟件安裝監(jiān)視器。然后在“cmd”下輸入“update.exe/q/n,z/b:SP2QFE”。安裝結(jié)束后,監(jiān)視到“update”目錄中“branches.inf”、“update_SPIQFE.inf”、“update_SP2GDR.inf”、“eula.txt”在安裝的時候,未讀取到,我們將這四個文件徹底刪除。還有“update”的同級目錄,“SPIQIFE”、“SP2GDR”以及“spmsq.dll”。 spuninst.exe”也未讀取到。我們也要將其刪掉。這樣。我們就得到了QFE節(jié)點安裝方式所需要的安裝文件。經(jīng)過刪除,我們發(fā)現(xiàn)未刪除前后的文件夾大小比相差了1MB,縮少了補丁的體積。按此原理。將“E:/update”下的所有補丁按此方法提取出QFE安裝文件。
方法二:可能有的朋友會發(fā)現(xiàn),這樣子是不是太麻煩了?有沒有更加簡單方法,讓提取補丁變成自動化,不需要人工參與就可以搞定呢?答案是有的。
我們用批處理來制作這個自動解壓并提取QFE安裝文件的補丁,請參考光盤“實用教程”欄目中的代碼。
將這段代碼用記事本保存為qfe.cmd,放在“E:/updateV/”下雙擊執(zhí)行,那系統(tǒng)就將為您自動的提取好QFE補丁。
QFE補丁文件的批量安裝方法
了解了QFE補丁的提取,接下來,我們談?wù)凲FE補丁文件的安裝與壓縮。思路是這樣的,通過對計算機已安裝補丁的檢查來判斷計算機當(dāng)前還未安裝的補丁,再通過批處理命令來批量安裝未安裝的補丁。
我先來給大家介紹一個工具,通過檢查注冊位置“HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Updates”來判斷電腦安裝了那些補丁。
我們通過這個命令“qfecheck I findstr/I/c:“Currenton system.”>Iist.txt”將計算機上已安裝的更新列表輸出到“l(fā)ist.txt”文件中。我再來新建一個“setup.txt”文件,通過對QFE補丁的提取,我們發(fā)現(xiàn),有些補丁并沒有QFE的安裝方式。這個時候我們要修正一下,將安裝文件夾恢復(fù)到原來的樣子。在修正好之后,我們在“setup.txt”里寫入格式列表,這個列表里列表出了所有的補丁安裝路徑以及參數(shù)。
請參考光盤“實用教程”欄目中的代碼。
通過執(zhí)行這個批處理文件。我們就完成了補丁的安裝操作。以后凡是有新的補丁出現(xiàn),我們只需要更新一下補丁QFE部分以及“setup.txt”部分就可以了。
QFE補丁文件壓縮打包
通過上面的三個步驟。我們已經(jīng)基本解決了QFE補丁的收集以及安裝的問題,在這一節(jié)。我給大家介紹一下QFE補丁的打包以及再次精簡的過程。
“E:/update”目錄中現(xiàn)在的未經(jīng)壓縮的整體大小是277MB,很龐大。我們通過壓縮軟件7-ZIP進行壓縮。壓縮等級選擇極限壓縮,并勾選“壓縮共享文件”選項,點擊“確定”按鈕。計算機就開始為我們壓縮。
對于這個結(jié)果不知大家滿意嗎?其實我還不滿意。因為MS補丁集在發(fā)行的時候。有些補丁文件其實是重復(fù)的,我搜索排序了一下。同樣一個文件在三個補丁里都存在,其中有兩種不同的大小。這樣在壓縮的時候。就不能通過7-ZIP的共享壓縮了。我們可以用新的文件代替舊的文件。這樣再使用共享壓縮的時候有什么效果呢?請看下面:
在Windows XP中有一個文件替換命令“replace”。就是專門為我們的瘦身行動量身定做的。大家請參考光盤“實用教程”欄目中的專用瘦身批處理代碼。
通過執(zhí)行以上批處理操作之后,已經(jīng)提示有39個文件被替換,我們再來壓縮一下。壓縮完后的文件的大小為29.5MB。就這樣我們再次給補丁包瘦身了5MB左右。這樣就更方便發(fā)布或U盤隨身攜帶了。
首期就先到這兒,下期我將繼續(xù)為您講解補丁包的自解壓安裝、安裝界面的美化、直接用注冊表檢測系統(tǒng)已安裝的補丁以及GDR安裝補丁方式的制作方法。