1.工具篇
關(guān)于 nLite:
平時我們都是通過默認的方式安裝 Windows 。系統(tǒng)中自帶的組件,有很多都是我們一輩子也用不上的。這些對我們來說并不實在的東西,會占用不少的硬盤空間和系統(tǒng)資源。
利用 nLite 給系統(tǒng)安裝光盤瘦身,移除那些我們并不需要的 Windows 組件,定制后的系統(tǒng)光盤,體積不到 150 MB,安裝后,硬盤空間占用 400-450 MB 左右,PF使用率在 30-60 MB之間,從而節(jié)省更多的硬盤空間,釋放更多的內(nèi)存,可以在配置很低的舊機器上流暢運行。
nLite (當前最新版本為 nLite v1.0 RC1 )
官方下載頁面:http://www.nliteos.com/download.html
Microsoft.NET Framework v1.1 簡體中文版 23.15 MB
官方下載鏈接:http://download.microsoft.com/do ... 19a568/dotnetfx.exe
Microsoft .NET Framework v1.1 Service Pack 1 簡體中文版 10.21 MB
官方下載鏈接:http://download.microsoft.com/do ... p1-KB867460-X86.exe
--------------------------
如何將文件壓縮成 .xx_ 格式?
A. 最簡單的, 系統(tǒng)自帶的 makecab.exe
B. 使用 CompressionBin, 這個使用非常簡單, 可以一次拖放多個文件, 批量生成 .xx_ 文件. 它是通過調(diào)用 makecab.exe 實現(xiàn)壓縮文件的, 所以請確保系統(tǒng)目錄下有 makecab.exe. 另外, 想要運行它就需要先安裝 .Net.
-----------------------------
如何將文件以及目錄都壓縮到一個 .Cab 文件中?
A. MackeCab.exe : 想用它手動創(chuàng)建 .Cab 文件可不是一般人能搞得定的......
B. 系統(tǒng)自帶的 iexpress.exe. (我用不習慣)
C. WinCab: 我個人喜歡用它, 雖說不是很好用, 但是它是通過調(diào)用 makecab.exe 創(chuàng)建 .Cab, 那么就品質(zhì)而言還是可以放心的. 使用前, 要先將 makecab.exe 放到它所在的目錄中. 注意: 如果你想在 Cab 文件中添加文件夾, 那么你應(yīng)該選中 "Option" -> "Recursively include subdirectories". 網(wǎng)上有漢化版, 可以自己找一下.
----------------------------------------
如何解開 .xx_ 格式的文件?
其實這些文件都是 .Cab 格式的壓縮包, 因為其后綴名不盡相同, 處理起來也有點棘手.
A. Expand.exe 是專門用來解壓這些文件的. 系統(tǒng)自帶的命令行工具.
B. 我個人最常用的方法. 當有大批量 .xx_ 文件時, 全選, 然后點右鍵, 重命名, 隨便改成 aa.cab, 其它文件也會按序自動重命名. 此時, 生成了一堆 .Cab 文件, 接著全選, 用 WinRAR 或 WinZip 批量解壓縮就是了. 就這么簡單....
-------------------------------------------------
小知識: 什么是替換資源式的 ShellPack (美化包)?
所謂美化捏, 一般來說, 就是用 ResHacker, eXeScope 這類資源編輯軟件修改程序或庫文件中的圖標, 圖片, AVI, 對話框等資源, 使其看起來更漂亮, 或者說更加與眾不同.
所謂美化包捏, 一般來說, 就是美化很多文件, 使其全都符合某種樣式, 比如, Mac, Longhorn 等風格, 然后再配合壁紙, 聲音主題, VS 可視化效果, 圖標等等元素, 如果再做成安裝程序的模式, 那么一個美化包就算是正式出爐了.
所謂替換文件式的美化包捏, 顧名思義. 比如說, 現(xiàn)在流行 Windows XP SP2, 那么這種美化包就會以 XP SP2 的文件為藍本進行美化. 那么最后做出的美化包就是要用這美化好的文件替換 XP SP2 的文件, 所以就叫做替換文件式. 這個缺點很明顯, 做出來之后就只能用于 XP SP2, 即便是 XP SP1 都不可直接用. 大概 2004 年前的美化包都是這種安裝方式的.
所謂替換資源式的美化包捏, 就是俺最欣賞的那種. 要知道, 目前的主流系統(tǒng)就是 XP 和 2003, 它們的結(jié)構(gòu)差不多, 大多數(shù)文件中的資源分布狀況一摸一樣. 而且, 相對以前的 Windows 來說, 它們有個很大的優(yōu)點, 支持主題, 這樣大家就可以隨心所欲地美化系統(tǒng)了. 可是捏, XP 和 2003 細分起來, 可不只這兩個版本啊, 常見的就有 XP, XP SP1, XP SP2, 2003, 2003 SP1, 更何況還有在線更新搞出來的各類小版本. 所以捏, 如果想為每個版本都做份美化的話, 非累死不可, 美化包的體積也將大的驚人. 最后, 終于在這兩年, 外國有高手為解決這個問題而努力奮斗了. 印象中最早做出這種替換資源式美化包的應(yīng)該是 WinOSX 的作者, 其中 FlyakiteOSX 的作者 Flyakite 也有參與此項目. 那么以下簡單介紹下原理.
既然各個版本的文件資源分布差不多, 那么我們只讓美化包替換文件中的資源不就得了? 根本不用直接文件嘛, 而且這樣一來, 只替換資源, 而不替換文件中的可執(zhí)行代碼部分, 又可以極大地減小美化包的體積了. (因為有些文件只需替換個圖標而已, 比如, 一個文件 1M, 替換些圖標 100K, 那么替換文件的方式將會額外浪費 900K). 這個就要靠 ResHacker 實現(xiàn)了. 它可以利用專用腳本實現(xiàn)自動替換文件中的資源. 這樣就不怕 n 個版本的文件了, 因為就 XP 和 2003 而言, 資源與文件無關(guān). 另外還要說明一點, 目前支持全語言版本的美化包還是有點缺陷的, 因為對話框中有很多本地化字符串, 改的話, 就無法支持多國語言了, 不改的話, 就無法實現(xiàn)進一步的美化了. 所以, 請盡可能地下載針對本國語言的美化包, 這些美化包一般都把對話框改了的, 要好看許多.
為什么要用 ResHacker 呢? 首先, 因為 ResHacker 和 eXeScope 是最常見最方便的資源編輯軟件, 而且, 它們都支持通過專用的腳本來實現(xiàn)編輯文件中的資源. 那么為什么不用 eXeScope 捏, 何況它有個專門用于腳本處理的 eXeBat.exe, 才 100 多K, 而 ResHacker 卻有 860K. 其實這是因為版權(quán)問題, eXeScope 是共享軟件, 需要注冊, ResHacker 則是自由免費軟件, 而老外比較重視版權(quán)問題, 所以捏, 他們都選擇了 ResHacker, 以免遇到麻煩. 既然老外先行者們都用 ResHacker, 那么我們這后來者也就隨大流, 選用 ResHacker 吧. 當然, 你非要用 eXeScope, 或是其它資源編輯軟件也不是不可以, 只是少了些本來就不多的相關(guān)參考資料罷了.
這種美化包的運行原理就不在此多說了, 推薦你到漢化新世紀看看, 那里有我以前請教高手時留下的帖子. 那個里面甚至有現(xiàn)成的安裝源代碼. 有志于此的, 可以學習學習.
(http://bbs.hanzify.org/index.php?showtopic=32533&hl=xpize)
國產(chǎn)替換資源式 ShellPack:
國內(nèi)還是有能人di, 目前可以見到 3 個.
A. PixOS ShellPack 1.0.1.416
藍色網(wǎng)際 MM 做的 PixOS 界面美化包, 還有 NSIS 安裝源代碼可以研究的.
(ftp://tingpu:evlove@219.149.195.9/Shell Pack/PixOS/PixOS.zip)
B. BlueWonder ThemePack 2.0 RC1
DreamMail 作者 Relay 的作品, Longhorn 類風格的主題包, 裝上之后感覺不錯.
(http://www.leelay.com/attachments/BlueWonder_20_RC1.rar)
C. Mac OS ShellPack
這個是與張程美化包配套的自動安裝版本. 它的腳本是俺做的, 它的獨特優(yōu)點就在于支持修改對話框, 因此, 界面看起來更美觀, 但是只能支持 Windows XP 和 2003 的簡體中文版了. 由于張程的美化包要收費, 因此我不好拿出來給大家共享. 如果以后有其它比較全的美化資源的話, 我會做個免費的與大家一同分享. 以后有空繼續(xù)完善 NSIS 安裝腳本.
港臺替換資源式 ShellPack:
目前只見到一個, 應(yīng)該是香港同胞做出來的. 嘿嘿, 中國的強淫還是不少的. 至少能夠跟的上潮流.
A. TigerMilk 3.51
應(yīng)該是香港同胞做出來的 MacOS 類美化包, 完全可以媲美國外知名的 FlyakiteOSX. 它的網(wǎng)站頁面是繁體中文的, 有專門的論壇支持. 怎么說繁體也比英文好看吧.
(http://share.fetag.org/~btofnc/TM/TM_V351.exe)
國外替換資源式 ShellPack:
國外出品的主題包一般都對中文版支持的不好, 同樣的, 這里介紹的這幾個主題包也存在著同樣的毛病. 不過這并不能抹煞它們的優(yōu)良品質(zhì).
XPize:
絕對的精品, 它是 XP 風格的強化美化包. 它的 uae 版, 也就是無人值守版, nLite 甚至可以用它美化 Windows 安裝文件. 強烈推薦喜愛 XP 風格的朋友使用這個美化包.
nLite + RyanVM Pack + XPize = Perfect OS
完美的操作系統(tǒng), 快速, 安全, 豪華.
http://www.msfn.org/board/index.php?showforum=112
FlyakiteOSX:
目前最知名的 MacOS 類美化包, 推薦大家試試.
http://osx.portraitofakite.com/
Longhorn Transformation Pack:
WinOSX 的作者做出的最出名的 Longhorn 類美化包, WinOSX 是老牌美化包了, 技術(shù)實力絕對是擺在那里的. 現(xiàn)在最流行的主題類型就是 Mac 和 Longhorn, 嘿嘿, 也就是現(xiàn)在的 Vista. 從現(xiàn)在到明年底, 你可以先用這個美化包來體驗 Longhorn 的獨特之處. 估計不久之后, 這個應(yīng)該會改成 Vista Transformation Pack 吧.
http://www.windowsx.cc/
------------------------------------------------------------------------------------------------------------------------------------------------
精簡組件
陽光家園系統(tǒng)維護盤的精簡組件~
保留了打印傳真的支持 保留了筆記本的支持~等等~
;# Applications - 應(yīng)用程序 #
Accessibility Options - 輔助選項
Briefcase - 公文包
Charmap - 字符映射表
ClipBook Viewer - 剪貼薄查看器
Internet Games - Internet 游戲
NT Backup - NT 備份程序
Pinball - 三維彈球
Screensavers - 屏幕保護
Wordpad - 寫字板
;# Drivers - 驅(qū)動 #
Asynchronous Transfer Mode (ATM) - 異步傳輸模式
Cameras and Camcorders - 數(shù)碼攝像設(shè)備
InfraRed - 紅外線
ISDN - 綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)
Logitech WingMan - 羅技手柄
Microsoft SideWinder -微軟手柄
Modems - 調(diào)制解調(diào)器
Portable Audio - 便攜音頻設(shè)備
Scanners - 掃描儀
Sony Jog Dial - Sony 滾輪鍵
Tape Drives - 磁帶驅(qū)動器
Toshiba DVD decoder card - 東芝 DVD 解壓卡
Wireless Ethernet (WLAN) - 無線網(wǎng)絡(luò)
;# Hardware Support - 硬件支持 #
Brother Devices - Brother 設(shè)備
Multi-port serial adapters - 多端口串行適配器
Sony Memory Stick - Sony 記憶棒
Teletext codec - 圖文編解碼器
;# Multimedia - 多媒體 #
AOL ART Image Format Support - AOL ART 圖像格式支持
Images and Backgrounds - 圖像背景
Luna Theme - Luna 主題
Media Center - 媒體中心
Mouse Cursors - 鼠標光標
Movie Maker - Movie Maker
Music Samples - 音樂示例
Tablet PC - 平板電腦
;# Network - 網(wǎng)絡(luò) #
Active Directory service - 活動目錄服務(wù)
Client for Netware Networks - Netware 客戶端服務(wù)
Communication tools - 通訊
FrontPage Extensions - FrontPage 擴展
Internet Information Services (IIS) - Internet 信息服務(wù)
IP Conferencing - IP 會議
MSN Explorer - MSN Explorer
Netmeeting - Netmeeting
Network Monitor Driver and Tools - 網(wǎng)絡(luò)監(jiān)視驅(qū)動及工具
Network Setup Wizard - 網(wǎng)絡(luò)安裝向?qū)?br>Peer-to-Peer - 對等網(wǎng)絡(luò)
Synchronization Manager - 同步管理器
Vector Graphics Rendering (VML) - 矢量圖形呈現(xiàn)
Web Folders - 網(wǎng)絡(luò)文件夾
Windows Messenger - Windows Messenger
;# Operating System Options - 操作系統(tǒng)選項 #
.Net Framework - .Net 框架
Administrator VB scripts - VB 管理腳本
Color Schemes - 色彩方案
Desktop Cleanup Wizard - 桌面清理向?qū)?br>Disk and Profile Quota - 磁盤配額
Document Templates - 文檔模板
DR Watson - 華生醫(yī)生
Extra Fonts - 額外字體
File and Settings Wizard - 文件和設(shè)置轉(zhuǎn)移向?qū)?br>File System Filter Manager - 文件系統(tǒng)篩選管理器
Input Method Editor - 輸入法編輯器
MS Agent - 代理助手
Out of Box Experience (OOBE) - 注冊激活
Private Character Editor - 造字程序
Remote Installation Services (RIS) - 遠程安裝服務(wù)
Security Center - 安全中心
Tour - Windows 漫游
Web View - 網(wǎng)頁視圖
Zip Folders - Zip 文件夾
幫助
;# Services - 服務(wù) #
Alerter - 警報
Beep Driver - 蜂鳴驅(qū)動
Distributed Link Tracking Client - 分布式鏈接跟蹤客戶端
Distributed Transaction Coordinator (DTC) - 分布式事務(wù)協(xié)調(diào)器
Error Reporting - 錯誤報告
Imapi - IMAPI CD 刻錄 COM 服務(wù)
Indexing Service - 索引服務(wù)
IPSEC Policy Agent - IPSec 策略代理
Messenger - Messenger
Network Provisioning - 網(wǎng)絡(luò)供應(yīng)服務(wù)
Performance Logs and Alerts - 性能日志和警報
QoS RSVP - QoS RSVP
Quality of Service Packet Scheduler - 質(zhì)量服務(wù)數(shù)據(jù)包計劃程序
Remote Registry - 遠程注冊服務(wù)
Removable Storage - 可移動存儲
Secondary Logon - 二次登錄
Service Advertising Protocol - 服務(wù)公布協(xié)議
SNMP - 簡單網(wǎng)絡(luò)管理協(xié)議
System Restore - 系統(tǒng)還原
TCP/IP NetBIOS Helper - TCP/IP NetBIOS 幫助器
Telnet Server - Telnet 服務(wù)器
Terminal Services - 終端服務(wù)
Text Services Framework - 文字服務(wù)框架
Uninterruptible Power Supply - 不間斷電源
Universal Plug and Play - 通用即插即用
Volume Shadow Copy - 卷影復(fù)制
WebClient - 網(wǎng)絡(luò)客戶端
------------------------------------------------------------------------------------------------------------------------------------------------
完美保留XP系列的 DOS 下從硬盤安裝的功能
nLite 中 "手動安裝和升級" 所涉及到的各種文件如下:
理論:
手動安裝和升級:(51.6MB)
實際移除文件:
DWUP.IN_
ICONLIB.DL_
LNKSTUB.EX_
MDMSSYS.IN_
MIGISOL.EX_
MIGLIBNT.DL_
MIGPWD.EX_
OSC.CAB
OSCHOICE.EX_
REMINST.IN_
RINORPRT.SI_
RISTNDRD.SI_
SETUPACC.TXT
SETUPLDR.EX_
STARTROM.CO_
STARTROM.N1_
W95UPGNT.DL_
WELCOME.OS_
WINNT.EXE
WINNT32.EXE
WINNT32.HLP
WINNT32.MSI
WINNT32A.DLL
WINNT32U.DLL
WINNTBBA.DLL
WSDU.DLL
WSDUENG.DLL
/Compdata
/Drw
/Win9XMIG
/Win9XUPG
/WinNTUPG
完美保留硬盤安裝方法:
保留 "手動安裝和升級" , 然后手動在 i386 目錄刪除這些文件, 其中的 5 個文件夾一定要刪除.
另外, 還可以考慮刪除 i386 的上層目錄中的那些 *.htm, *.txt, SETUP.EXE 文件.
要注意的是, 雖然大部分的文件都可以直接手動刪除.
但是, 以下文件必須通過添加到 "移除框" 中的方式來刪除. 否則, 安裝時會提示缺少文件的.
至于其它的文件, 好像是沒有在復(fù)制列表中定義, 所以就手動刪除吧.
在額外移除文件列表中加入:
---------------------
iconlib.dll
dwup.inf
miglibnt.dll
reminst.inf
welcome.osc
migisol.exe
migpwd.exe
lnkstub.exe
w95upgnt.dll
---------------------
經(jīng)過以上設(shè)置, 即基本上可以用最小的代價實現(xiàn)從 DOS 以及從硬盤上安裝 XP 了. 建個批處理文件, 把以下命令復(fù)制到一個文本文件中, 另存為 .cmd 格式, 放到 i386 目錄的上層目錄中, 將其運行就能自動刪除垃圾文件了.
del ./i386/DWUP.IN_ /Q
del ./i386/ICONLIB.DL_ /Q
del ./i386/LNKSTUB.EX_ /Q
del ./i386/MDMSSYS.IN_ /Q
del ./i386/MIGISOL.EX_ /Q
del ./i386/MIGLIBNT.DL_ /Q
del ./i386/MIGPWD.EX_ /Q
del ./i386/OSC.CAB /Q
del ./i386/OSCHOICE.EX_ /Q
del ./i386/REMINST.IN_ /Q
del ./i386/RINORPRT.SI_ /Q
del ./i386/RISTNDRD.SI_ /Q
del ./i386/SETUPACC.TXT /Q
del ./i386/SETUPLDR.EX_ /Q
del ./i386/STARTROM.CO_ /Q
del ./i386/STARTROM.N1_ /Q
del ./i386/W95UPGNT.DL_ /Q
del ./i386/WELCOME.OS_ /Q
del ./i386/WINNT32.EXE /Q
del ./i386/WINNT32.HLP /Q
del ./i386/WINNT32.MSI /Q
del ./i386/WINNT32A.DLL /Q
del ./i386/WINNT32U.DLL /Q
del ./i386/WINNTBBA.DLL /Q
del ./i386/WSDU.DLL /Q
del ./i386/WSDUENG.DLL /Q
RD ./i386/Compdata /Q /S
RD ./i386/Drw /Q /S
RD ./i386/Win9XMIG /Q /S
RD ./i386/Win9XUPG /Q /S
RD ./i386/WinNTUPG /Q /S
------------------------------------------------------------------------------------------------------------------------------------------------
關(guān)于輸入法的處理
在 “要移除的額外文件” 選項內(nèi)添加你不需要的輸入法關(guān)聯(lián)文件.具體如下:
微軟拼音(5.5MB)
Pintllime.dll,Pintlgab.imd,Pintlgai.imd,Pintlgb.imd,Pintlgd.imd,Pintlgdx.imd,Pintlgie.imd,Pintlgnt.cnt,Pintlgnt.hlp,Pintlgnt.i96,Pintlgnt.ime,Pintlgrb.imd,Pintlgri.imd,Pintlgs.imd,Pintlgsi.imd,Pintlgsx.imd,Pintlgu.imd,Pintlguc.imd,Pintlphr.exe
智能ABC(1.2MB)
Winabc.cwd,Abcsda.dll,Abcwin.exe,Winabc.ime,Winabc.ovl,tmmr.rem,user.rem,Winabc.hlp,Winabc.cnt
鄭碼(1.6MB)
Winzm.ime,Winzm.mb,Winzm.hlp,Winzm.cnt
全拼(2.0MB)
Winpy.ime,Winpy.mb,Winpy.hlp,Winpy.cnt
雙拼(1.7MB)
Winsp.ime,Winsp.mb,Winsp.hlp,Winsp.cnt
內(nèi)碼輸入法(180KB)
Wingb.mb,Wingb.hlp,Wingb.cnt
表形碼(1.6MB)
Winbx.mb,Winbx.ime,Winbx.hlp,Winbx.cnt
輸入法相關(guān)幫助文件(1.1MB)
Winime.hlp,Winime.cnt,Ime.hlp,Ime.cnt
PS:可以全部移除,等待系統(tǒng)安裝完成后再安裝新版本的輸入法,也可以只移除你不需要的輸入法,
一般建議移除#微軟拼音輸入法# ,否則,當系統(tǒng)安裝完成后,切換輸入法時會出現(xiàn)錯誤提示,當然也可以在安裝系統(tǒng)后再刪除 #微軟拼音輸入法#
精簡掉搜索助手但保留搜索功能的方法
1、在額外刪除列表里 添加5個搜索助手的文件(其實搜索用手就12MB左右,刪除這5個文件,就去掉了11MB)
msgr3en.dll
nls302en.lex
courtney.acs
earl.acs
rover.acs
2、把I386目錄下的 srchasst.in_ 文件解壓后得到srchasst.inf,分別刪除“msgr3en.dll,,,32”、“nls30 2en.lex,,,32”、“courtney.acs,,,32”、“earl.acs,,,32”、“rover.acs,,,32”這幾行,或者用封號屏蔽它們。保存后再壓縮回去,替換原文件即可。
不過, 新手要注意一下, 使用這個技巧的前提是, 不要在"組件移除"里刪掉"搜索助手".
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
Txtsetup.inf 專題篇
Txtsetup.sif 是一個安裝信息文件 (sif), 主要用于 Windows 的文本安裝模式(就如其名). 而且, 它還可能會被其它的一些東西使用, 例如, Windows PE 啟動時也會用到它 (Windows PE 用到了文本安裝模式的末尾和 GUI 安裝模式的開始部分). 文本模式完成后, 這個文件就沒什么用了; 它不會被復(fù)制到 Windows 安裝文件中 (GUI 安裝模式用到的安裝文件). 因為 Windows 不會用到它, 所以, 像是系統(tǒng)文件保護 (SFC) 這樣的功能就不會影響到它. 它也沒有數(shù)字簽名, 因此你可以隨意修改它而不會出現(xiàn)問題.
你可以利用 txtsetup.sif 向你的安裝文件中添加第三方驅(qū)動, 修改安裝Windows 的最小系統(tǒng)需求, 添加或刪除注冊表預(yù)設(shè), 以及更多.
利用 Txtsetup.sif 添加或刪除文件.
若想把 txtsetup.sif 中的某行移除掉, 那么應(yīng)該在此行前添加一個分號(;)或是把這行整個的刪掉. 通常, 把 txtsetup.sif 中的某行刪掉之后, 那么還需要把 dosnet.inf 中的對應(yīng)行刪掉.
如果你想添加一行, 那就比較復(fù)雜了. 下面是txtsetup.sif 的某個示例行, 我會按照我的理解進行.
locsecw.chm = 1,,,,,,,21,0,0,localsec.chm
locsecw.chm 是 Windows 安裝文件中的某個文件.
1 代表著它是個初始 (RTM) XP 文件. 1 的定義來自于[SourceDisksNames.x86]. 通常你會看到 1 或 100, 1 表示它是未打補丁的初始文件, 100 代表它是個SPx 文件 (SP1, SP2..SPx).
21 代表著它的復(fù)制目的地, 其相對于 %windir% 文件夾. 在這里, 21 是讓安裝程序把 locsecw.chm 復(fù)制到 %windir%help. 具體哪些值代表哪些目錄可以在[WinntDirectories] 中找到. 一般情況下, [WinntDirectories] 中定義的目錄都是相對于 %windir% 文件夾的子目錄, 這就意味著你把文件添加到txtsetup.sif 中, 那么它就會被復(fù)制到 %windir% 文件夾中 (可能在其子文件夾中).
我無法確定這兩個 0 的意義.
就如你在示例中所看到的一樣, 可以在行的末尾重命名要復(fù)制的文件. Microsoft 用它來區(qū)分 Windows XP Home 和 Pro 版. Home 的文件帶有P, Pro 的文件帶有 W. W 可能是代表著工作站 (WorkStation) 的意思. P 可能是代表著個人版 (Personal) 的意思, Windows XP Home 最初就叫做 Whistler Personal.
示例:
cmconW.chm = 1,,,,,,,21,0,0,cmconcepts.chm - xp pro txtsetup.sif
cmconP.chm = 1,,,,,,,21,0,0,cmconcepts.chm - xp home txtsetup.sif
就如你所見的一樣, XP Home 和 XP Pro 的文件并不相同, 但是最后復(fù)制到系統(tǒng)中的文件名稱都一樣. 同時請注意, txtsetup.sif 支持長文件名.
現(xiàn)在, 我們來看看另一行, 粗體部分相當重要:
autofmt.exe = 1,,,,,,_x,2,0,0,,1,2
_x 代表著這個安裝盤上的這個文件沒有經(jīng)過壓縮. 如果沒有這個, 那么安裝程序會認為這個文件已被壓縮過了. 這個對于保證安全性和可靠性很重要. 每個 XP 文件都被列在了 layout.inf 中, 包括這個文件的大小 (按字節(jié)計算). 很明顯, 一個文件的壓縮前和壓縮后的大小是不會相同的. 如果 txtsetup.sif 告訴安裝程序 “某個文件未被壓縮”, 那么安裝程序就會在layout.inf 中查找它的文件大小以確保這個文件未經(jīng)修改或是損壞. 如果文件大小與 layout.inf 中記錄的不同, 那么 XP 安裝程序就會報錯并停止安裝. 這個能夠保證安裝程序的安全性, 以確定文件是否被修改過. 它還能驗證文件是否已被損壞. 如果文件已被損壞, 那么稍后安裝時就可能會出現(xiàn)問題. 如果你以 _x 為關(guān)鍵字在 txtsetup.sif 進行搜索, 那么你就能找到所有未經(jīng)壓縮的 Windows 安裝文件.
有個很重要的事情就是, txtsetup.sif 并沒有告訴安裝程序應(yīng)當從哪里獲取安裝文件. 它唯一的功能就是把按照正確的文件名把文件復(fù)制到正確的目錄中. 從硬盤安裝時, 安裝程序會先利用 dosnet.inf 中的定義把文件復(fù)制到C:$WIN_NT$.~LS 中. 然后, 安裝程序才會利用 Txtsetup.sif 把這個文件夾中的文件復(fù)制到對應(yīng)的文件夾中.
因為只能利用 txtsetup.sif 把文件復(fù)制到 %windir% 文件夾下, 所以它的用途有限. 主要是用它來添加注冊表預(yù)設(shè) (%windir%system32config) 和驅(qū)動 (%windir%system32config).
稍后我會介紹如何把第三方驅(qū)動集成到 XP 安裝文件中. 在我的 “Using txtsetup.sif to add registry settings” 中, 我介紹了如何利用txtsetup.sif 添加自定義的注冊表預(yù)設(shè)文件 (.inf 文件).
舉例說明:
比如說, 你想把 tweakui 集成到 Windows 安裝文件中, 但是你不想使用無人值守的方式. 那么利用 txtsetup.sif 可以很輕松地做到這點.
第一步: 下載 Tweak UI
在這里下載 TweakUI. 下載之后, 用 WinRAR 把 tweakui.exe 提取出來, 或是先安裝這個程序再把windowssystem32 中的 tweakui.exe 復(fù)制出來.
第二步: 把 tweakui.exe 復(fù)制到 XP 安裝文件所在的文件夾中
把你的 XP 安裝盤上的文件復(fù)制到硬盤上, 然后把 tweakui.exe 放到 i386 文件夾中.
第三步: 修改 txtsetup.sif 和 dosnet.inf
把以下行添加到 dosnet.inf 中:
d1,tweakui.exe
把以下行添加到txtsetup.sif 中:
tweakui.exe = 1,,,,,,,2,0,0
現(xiàn)在運行安裝程序, dosnet.inf 會把 tweakui.exe 復(fù)制到C:$WIN_NT$.~LSi386 中. 接著重啟之后, 就會進入文本安裝模式了, 而 txtsetup.sif 會把 C:$WIN_NT$.~LSi386 中的tweakui.exe 復(fù)制到 C:WindowsSystem32 中. 當整個安裝進程完成之后, 若要運行 tweakui.exe, 那么只需轉(zhuǎn)到 “開始”>”運行”>輸入: tweakui, 點擊確定就行了.
你可能想知道我為什么不在新添加的行中使用 _x. 這是因為 tweakui.exe 不是 XP 的初始安裝文件, XP 不需要檢查它 (因為它未在 layout.inf 中進行定義).
你也可以用這個方法把 msconfig.exe 集成到 Win2000 的安裝文件中. 只需用 msconfig.exe 替換掉tweakui.exe, 其它的都一樣.
若想了解更多信息, 請查看 MSFN - Problem installing PowerToys from svcpack
更新 (2/10/04)
raskren 提交了一些關(guān)于txtsetup.sif 的有用信息, 這是他從一本 Windows 2000 的書中了解到的. 我不想重新編寫這個文檔, 因此我只把 raskren 提供的新信息添加到這里. 初始帖子在這里, MSFN - Switches in TXTSETUP.SIF
以下行說明了[SourceDisksFiles] 區(qū)段中每行的語法:
filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename
源文件名=磁盤號,子目錄,升級代碼,新建安裝代碼,備用,備用,新文件名
額外字段由逗號(,)隔開, 這是 Windows NT 指定的.
當從軟盤上開始安裝時就會用到 diskid 了. (或者是多張光盤?)
subdir 就是復(fù)制文件的目的文件夾. Subdir 代碼是在 TXTSETUP.SIF 的 [WinntDirectories] 區(qū)段中進行定義的.
upgradecode 是個個位數(shù), 用于決定是否要升級比較老版本的同名文件. 它可以決定是否要在文本安裝模式下復(fù)制這個文件.
以下是用于決定文件復(fù)制的代碼定義.
狀態(tài)代碼 – 復(fù)制操作
0 – 總是復(fù)制這個文件
1 - 只有當同名文件存在于安裝目錄中時, 才復(fù)制這個文件
2 - 只有當安裝目錄中沒有同名文件時, 才復(fù)制這個文件
3 - 不要復(fù)制這個文件
newinstallcode 是個個位數(shù), 當全新安裝時就要用到這個. 它可以決定是否要在文本安裝模式下復(fù)制這個文件. newinstallcode 為可選項; 如果沒有包含這個代碼, 則文件不會被復(fù)制 (代碼 = 3).
newfilename 用于重命名要復(fù)制的文件. 以下舉例說明.
autochk.exe = 100,,,,,,_x,2,0,0,,1,2
此行的定義是, AUTOCHK.EXE 這個文件是在安裝光盤上, 沒有壓縮, 會被復(fù)制到 %WinDir%system32 文件夾中(可在[WinntDirectories] 中查到 2 的定義). “upgrade code” 和“new installation code” 都是 0, 這意味著不管原來是 Win2000 還是要全新安裝, 這個文件都會被復(fù)制到目的文件夾中..