1.工具篇
关于 nLite:
平时我们都是通过默认的方式安装 Windows 。系统中自带的组件,有很多都是我们一辈子也用不上的。这些对我们来说并不实在的东西,会占用不少的硬盘空间和系统资源。
利用 nLite 给系统安装光盘瘦身,移除那些我们并不需要的 Windows 组件,定制后的系统光盘,体积不到 150 MB,安装后,硬盘空间占用 400-450 MB 左右,PF使用率在 30-60 MB之间,从而节省更多的硬盘空间,释放更多的内存,可以在配置很低的旧机器上流畅运行。
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. 最简单的, 系统自带的 makecab.exe
B. 使用 CompressionBin, 这个使用非常简单, 可以一次拖放多个文件, 批量生成 .xx_ 文件. 它是通过调用 makecab.exe 实现压缩文件的, 所以请确保系统目录下有 makecab.exe. 另外, 想要运行它就需要先安装 .Net.
-----------------------------
如何将文件以及目录都压缩到一个 .Cab 文件中?
A. MackeCab.exe : 想用它手动创建 .Cab 文件可不是一般人能搞得定的......
B. 系统自带的 iexpress.exe. (我用不习惯)
C. WinCab: 我个人喜欢用它, 虽说不是很好用, 但是它是通过调用 makecab.exe 创建 .Cab, 那么就品质而言还是可以放心的. 使用前, 要先将 makecab.exe 放到它所在的目录中. 注意: 如果你想在 Cab 文件中添加文件夹, 那么你应该选中 "Option" -> "Recursively include subdirectories". 网上有汉化版, 可以自己找一下.
----------------------------------------
如何解开 .xx_ 格式的文件?
其实这些文件都是 .Cab 格式的压缩包, 因为其后缀名不尽相同, 处理起来也有点棘手.
A. Expand.exe 是专门用来解压这些文件的. 系统自带的命令行工具.
B. 我个人最常用的方法. 当有大批量 .xx_ 文件时, 全选, 然后点右键, 重命名, 随便改成 aa.cab, 其它文件也会按序自动重命名. 此时, 生成了一堆 .Cab 文件, 接着全选, 用 WinRAR 或 WinZip 批量解压缩就是了. 就这么简单....
-------------------------------------------------
小知识: 什么是替换资源式的 ShellPack (美化包)?
所谓美化捏, 一般来说, 就是用 ResHacker, eXeScope 这类资源编辑软件修改程序或库文件中的图标, 图片, AVI, 对话框等资源, 使其看起来更漂亮, 或者说更加与众不同.
所谓美化包捏, 一般来说, 就是美化很多文件, 使其全都符合某种样式, 比如, Mac, Longhorn 等风格, 然后再配合壁纸, 声音主题, VS 可视化效果, 图标等等元素, 如果再做成安装程序的模式, 那么一个美化包就算是正式出炉了.
所谓替换文件式的美化包捏, 顾名思义. 比如说, 现在流行 Windows XP SP2, 那么这种美化包就会以 XP SP2 的文件为蓝本进行美化. 那么最后做出的美化包就是要用这美化好的文件替换 XP SP2 的文件, 所以就叫做替换文件式. 这个缺点很明显, 做出来之后就只能用于 XP SP2, 即便是 XP SP1 都不可直接用. 大概 2004 年前的美化包都是这种安装方式的.
所谓替换资源式的美化包捏, 就是俺最欣赏的那种. 要知道, 目前的主流系统就是 XP 和 2003, 它们的结构差不多, 大多数文件中的资源分布状况一摸一样. 而且, 相对以前的 Windows 来说, 它们有个很大的优点, 支持主题, 这样大家就可以随心所欲地美化系统了. 可是捏, XP 和 2003 细分起来, 可不只这两个版本啊, 常见的就有 XP, XP SP1, XP SP2, 2003, 2003 SP1, 更何况还有在线更新搞出来的各类小版本. 所以捏, 如果想为每个版本都做份美化的话, 非累死不可, 美化包的体积也将大的惊人. 最后, 终于在这两年, 外国有高手为解决这个问题而努力奋斗了. 印象中最早做出这种替换资源式美化包的应该是 WinOSX 的作者, 其中 FlyakiteOSX 的作者 Flyakite 也有参与此项目. 那么以下简单介绍下原理.
既然各个版本的文件资源分布差不多, 那么我们只让美化包替换文件中的资源不就得了? 根本不用直接文件嘛, 而且这样一来, 只替换资源, 而不替换文件中的可执行代码部分, 又可以极大地减小美化包的体积了. (因为有些文件只需替换个图标而已, 比如, 一个文件 1M, 替换些图标 100K, 那么替换文件的方式将会额外浪费 900K). 这个就要靠 ResHacker 实现了. 它可以利用专用脚本实现自动替换文件中的资源. 这样就不怕 n 个版本的文件了, 因为就 XP 和 2003 而言, 资源与文件无关. 另外还要说明一点, 目前支持全语言版本的美化包还是有点缺陷的, 因为对话框中有很多本地化字符串, 改的话, 就无法支持多国语言了, 不改的话, 就无法实现进一步的美化了. 所以, 请尽可能地下载针对本国语言的美化包, 这些美化包一般都把对话框改了的, 要好看许多.
为什么要用 ResHacker 呢? 首先, 因为 ResHacker 和 eXeScope 是最常见最方便的资源编辑软件, 而且, 它们都支持通过专用的脚本来实现编辑文件中的资源. 那么为什么不用 eXeScope 捏, 何况它有个专门用于脚本处理的 eXeBat.exe, 才 100 多K, 而 ResHacker 却有 860K. 其实这是因为版权问题, eXeScope 是共享软件, 需要注册, ResHacker 则是自由免费软件, 而老外比较重视版权问题, 所以捏, 他们都选择了 ResHacker, 以免遇到麻烦. 既然老外先行者们都用 ResHacker, 那么我们这后来者也就随大流, 选用 ResHacker 吧. 当然, 你非要用 eXeScope, 或是其它资源编辑软件也不是不可以, 只是少了些本来就不多的相关参考资料罢了.
这种美化包的运行原理就不在此多说了, 推荐你到汉化新世纪看看, 那里有我以前请教高手时留下的帖子. 那个里面甚至有现成的安装源代码. 有志于此的, 可以学习学习.
(http://bbs.hanzify.org/index.php?showtopic=32533&hl=xpize)
国产替换资源式 ShellPack:
国内还是有能人di, 目前可以见到 3 个.
A. PixOS ShellPack 1.0.1.416
蓝色网际 MM 做的 PixOS 界面美化包, 还有 NSIS 安装源代码可以研究的.
(ftp://tingpu:[email protected]/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
这个是与张程美化包配套的自动安装版本. 它的脚本是俺做的, 它的独特优点就在于支持修改对话框, 因此, 界面看起来更美观, 但是只能支持 Windows XP 和 2003 的简体中文版了. 由于张程的美化包要收费, 因此我不好拿出来给大家共享. 如果以后有其它比较全的美化资源的话, 我会做个免费的与大家一同分享. 以后有空继续完善 NSIS 安装脚本.
港台替换资源式 ShellPack:
目前只见到一个, 应该是香港同胞做出来的. 嘿嘿, 中国的强淫还是不少的. 至少能够跟的上潮流.
A. TigerMilk 3.51
应该是香港同胞做出来的 MacOS 类美化包, 完全可以媲美国外知名的 FlyakiteOSX. 它的网站页面是繁体中文的, 有专门的论坛支持. 怎么说繁体也比英文好看吧.
(http://share.fetag.org/~btofnc/TM/TM_V351.exe)
国外替换资源式 ShellPack:
国外出品的主题包一般都对中文版支持的不好, 同样的, 这里介绍的这几个主题包也存在着同样的毛病. 不过这并不能抹煞它们的优良品质.
XPize:
绝对的精品, 它是 XP 风格的强化美化包. 它的 uae 版, 也就是无人值守版, nLite 甚至可以用它美化 Windows 安装文件. 强烈推荐喜爱 XP 风格的朋友使用这个美化包.
nLite + RyanVM Pack + XPize = Perfect OS
完美的操作系统, 快速, 安全, 豪华.
http://www.msfn.org/board/index.php?showforum=112
FlyakiteOSX:
目前最知名的 MacOS 类美化包, 推荐大家试试.
http://osx.portraitofakite.com/
Longhorn Transformation Pack:
WinOSX 的作者做出的最出名的 Longhorn 类美化包, WinOSX 是老牌美化包了, 技术实力绝对是摆在那里的. 现在最流行的主题类型就是 Mac 和 Longhorn, 嘿嘿, 也就是现在的 Vista. 从现在到明年底, 你可以先用这个美化包来体验 Longhorn 的独特之处. 估计不久之后, 这个应该会改成 Vista Transformation Pack 吧.
http://www.windowsx.cc/
------------------------------------------------------------------------------------------------------------------------------------------------
精简组件
阳光家园系统维护盘的精简组件~
保留了打印传真的支持 保留了笔记本的支持~等等~
;# Applications - 应用程序 #
Accessibility Options - 辅助选项
Briefcase - 公文包
Charmap - 字符映射表
ClipBook Viewer - 剪贴薄查看器
Internet Games - Internet 游戏
NT Backup - NT 备份程序
Pinball - 三维弹球
Screensavers - 屏幕保护
Wordpad - 写字板
;# Drivers - 驱动 #
Asynchronous Transfer Mode (ATM) - 异步传输模式
Cameras and Camcorders - 数码摄像设备
InfraRed - 红外线
ISDN - 综合业务数字网络
Logitech WingMan - 罗技手柄
Microsoft SideWinder -微软手柄
Modems - 调制解调器
Portable Audio - 便携音频设备
Scanners - 扫描仪
Sony Jog Dial - Sony 滚轮键
Tape Drives - 磁带驱动器
Toshiba DVD decoder card - 东芝 DVD 解压卡
Wireless Ethernet (WLAN) - 无线网络
;# Hardware Support - 硬件支持 #
Brother Devices - Brother 设备
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 - 网络 #
Active Directory service - 活动目录服务
Client for Netware Networks - Netware 客户端服务
Communication tools - 通讯
FrontPage Extensions - FrontPage 扩展
Internet Information Services (IIS) - Internet 信息服务
IP Conferencing - IP 会议
MSN Explorer - MSN Explorer
Netmeeting - Netmeeting
Network Monitor Driver and Tools - 网络监视驱动及工具
Network Setup Wizard - 网络安装向导
Peer-to-Peer - 对等网络
Synchronization Manager - 同步管理器
Vector Graphics Rendering (VML) - 矢量图形呈现
Web Folders - 网络文件夹
Windows Messenger - Windows Messenger
;# Operating System Options - 操作系统选项 #
.Net Framework - .Net 框架
Administrator VB scripts - VB 管理脚本
Color Schemes - 色彩方案
Desktop Cleanup Wizard - 桌面清理向导
Disk and Profile Quota - 磁盘配额
Document Templates - 文档模板
DR Watson - 华生医生
Extra Fonts - 额外字体
File and Settings Wizard - 文件和设置转移向导
File System Filter Manager - 文件系统筛选管理器
Input Method Editor - 输入法编辑器
MS Agent - 代理助手
Out of Box Experience (OOBE) - 注册激活
Private Character Editor - 造字程序
Remote Installation Services (RIS) - 远程安装服务
Security Center - 安全中心
Tour - Windows 漫游
Web View - 网页视图
Zip Folders - Zip 文件夹
帮助
;# Services - 服务 #
Alerter - 警报
Beep Driver - 蜂鸣驱动
Distributed Link Tracking Client - 分布式链接跟踪客户端
Distributed Transaction Coordinator (DTC) - 分布式事务协调器
Error Reporting - 错误报告
Imapi - IMAPI CD 刻录 COM 服务
Indexing Service - 索引服务
IPSEC Policy Agent - IPSec 策略代理
Messenger - Messenger
Network Provisioning - 网络供应服务
Performance Logs and Alerts - 性能日志和警报
QoS RSVP - QoS RSVP
Quality of Service Packet Scheduler - 质量服务数据包计划程序
Remote Registry - 远程注册服务
Removable Storage - 可移动存储
Secondary Logon - 二次登录
Service Advertising Protocol - 服务公布协议
SNMP - 简单网络管理协议
System Restore - 系统还原
TCP/IP NetBIOS Helper - TCP/IP NetBIOS 帮助器
Telnet Server - Telnet 服务器
Terminal Services - 终端服务
Text Services Framework - 文字服务框架
Uninterruptible Power Supply - 不间断电源
Universal Plug and Play - 通用即插即用
Volume Shadow Copy - 卷影复制
WebClient - 网络客户端
------------------------------------------------------------------------------------------------------------------------------------------------
完美保留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 文件.
要注意的是, 虽然大部分的文件都可以直接手动删除.
但是, 以下文件必须通过添加到 "移除框" 中的方式来删除. 否则, 安装时会提示缺少文件的.
至于其它的文件, 好像是没有在复制列表中定义, 所以就手动删除吧.
在额外移除文件列表中加入:
---------------------
iconlib.dll
dwup.inf
miglibnt.dll
reminst.inf
welcome.osc
migisol.exe
migpwd.exe
lnkstub.exe
w95upgnt.dll
---------------------
经过以上设置, 即基本上可以用最小的代价实现从 DOS 以及从硬盘上安装 XP 了. 建个批处理文件, 把以下命令复制到一个文本文件中, 另存为 .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
------------------------------------------------------------------------------------------------------------------------------------------------
关于输入法的处理
在 “要移除的额外文件” 选项内添加你不需要的输入法关联文件.具体如下:
微软拼音(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
内码输入法(180KB)
Wingb.mb,Wingb.hlp,Wingb.cnt
表形码(1.6MB)
Winbx.mb,Winbx.ime,Winbx.hlp,Winbx.cnt
输入法相关帮助文件(1.1MB)
Winime.hlp,Winime.cnt,Ime.hlp,Ime.cnt
PS:可以全部移除,等待系统安装完成后再安装新版本的输入法,也可以只移除你不需要的输入法,
一般建议移除#微软拼音输入法# ,否则,当系统安装完成后,切换输入法时会出现错误提示,当然也可以在安装系统后再删除 #微软拼音输入法#
精简掉搜索助手但保留搜索功能的方法
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 安装模式的开始部分). 文本模式完成后, 这个文件就没什么用了; 它不会被复制到 Windows 安装文件中 (GUI 安装模式用到的安装文件). 因为 Windows 不会用到它, 所以, 像是系统文件保护 (SFC) 这样的功能就不会影响到它. 它也没有数字签名, 因此你可以随意修改它而不会出现问题.
你可以利用 txtsetup.sif 向你的安装文件中添加第三方驱动, 修改安装Windows 的最小系统需求, 添加或删除注册表预设, 以及更多.
利用 Txtsetup.sif 添加或删除文件.
若想把 txtsetup.sif 中的某行移除掉, 那么应该在此行前添加一个分号(;)或是把这行整个的删掉. 通常, 把 txtsetup.sif 中的某行删掉之后, 那么还需要把 dosnet.inf 中的对应行删掉.
如果你想添加一行, 那就比较复杂了. 下面是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 代表着它的复制目的地, 其相对于 %windir% 文件夹. 在这里, 21 是让安装程序把 locsecw.chm 复制到 %windir%help. 具体哪些值代表哪些目录可以在[WinntDirectories] 中找到. 一般情况下, [WinntDirectories] 中定义的目录都是相对于 %windir% 文件夹的子目录, 这就意味着你把文件添加到txtsetup.sif 中, 那么它就会被复制到 %windir% 文件夹中 (可能在其子文件夹中).
我无法确定这两个 0 的意义.
就如你在示例中所看到的一样, 可以在行的末尾重命名要复制的文件. Microsoft 用它来区分 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 的文件并不相同, 但是最后复制到系统中的文件名称都一样. 同时请注意, txtsetup.sif 支持长文件名.
现在, 我们来看看另一行, 粗体部分相当重要:
autofmt.exe = 1,,,,,,_x,2,0,0,,1,2
_x 代表着这个安装盘上的这个文件没有经过压缩. 如果没有这个, 那么安装程序会认为这个文件已被压缩过了. 这个对于保证安全性和可靠性很重要. 每个 XP 文件都被列在了 layout.inf 中, 包括这个文件的大小 (按字节计算). 很明显, 一个文件的压缩前和压缩后的大小是不会相同的. 如果 txtsetup.sif 告诉安装程序 “某个文件未被压缩”, 那么安装程序就会在layout.inf 中查找它的文件大小以确保这个文件未经修改或是损坏. 如果文件大小与 layout.inf 中记录的不同, 那么 XP 安装程序就会报错并停止安装. 这个能够保证安装程序的安全性, 以确定文件是否被修改过. 它还能验证文件是否已被损坏. 如果文件已被损坏, 那么稍后安装时就可能会出现问题. 如果你以 _x 为关键字在 txtsetup.sif 进行搜索, 那么你就能找到所有未经压缩的 Windows 安装文件.
有个很重要的事情就是, txtsetup.sif 并没有告诉安装程序应当从哪里获取安装文件. 它唯一的功能就是把按照正确的文件名把文件复制到正确的目录中. 从硬盘安装时, 安装程序会先利用 dosnet.inf 中的定义把文件复制到C:$WIN_NT$.~LS 中. 然后, 安装程序才会利用 Txtsetup.sif 把这个文件夹中的文件复制到对应的文件夹中.
因为只能利用 txtsetup.sif 把文件复制到 %windir% 文件夹下, 所以它的用途有限. 主要是用它来添加注册表预设 (%windir%system32config) 和驱动 (%windir%system32config).
稍后我会介绍如何把第三方驱动集成到 XP 安装文件中. 在我的 “Using txtsetup.sif to add registry settings” 中, 我介绍了如何利用txtsetup.sif 添加自定义的注册表预设文件 (.inf 文件).
举例说明:
比如说, 你想把 tweakui 集成到 Windows 安装文件中, 但是你不想使用无人值守的方式. 那么利用 txtsetup.sif 可以很轻松地做到这点.
第一步: 下载 Tweak UI
在这里下载 TweakUI. 下载之后, 用 WinRAR 把 tweakui.exe 提取出来, 或是先安装这个程序再把windowssystem32 中的 tweakui.exe 复制出来.
第二步: 把 tweakui.exe 复制到 XP 安装文件所在的文件夹中
把你的 XP 安装盘上的文件复制到硬盘上, 然后把 tweakui.exe 放到 i386 文件夹中.
第三步: 修改 txtsetup.sif 和 dosnet.inf
把以下行添加到 dosnet.inf 中:
d1,tweakui.exe
把以下行添加到txtsetup.sif 中:
tweakui.exe = 1,,,,,,,2,0,0
现在运行安装程序, dosnet.inf 会把 tweakui.exe 复制到C:$WIN_NT$.~LSi386 中. 接着重启之后, 就会进入文本安装模式了, 而 txtsetup.sif 会把 C:$WIN_NT$.~LSi386 中的tweakui.exe 复制到 C:WindowsSystem32 中. 当整个安装进程完成之后, 若要运行 tweakui.exe, 那么只需转到 “开始”>”运行”>输入: 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 提交了一些关于txtsetup.sif 的有用信息, 这是他从一本 Windows 2000 的书中了解到的. 我不想重新编写这个文档, 因此我只把 raskren 提供的新信息添加到这里. 初始帖子在这里, MSFN - Switches in TXTSETUP.SIF
以下行说明了[SourceDisksFiles] 区段中每行的语法:
filename_on_source=diskid,subdir,upgradecode,newinstallcode,spare,spare,newfilename
源文件名=磁盘号,子目录,升级代码,新建安装代码,备用,备用,新文件名
额外字段由逗号(,)隔开, 这是 Windows NT 指定的.
当从软盘上开始安装时就会用到 diskid 了. (或者是多张光盘?)
subdir 就是复制文件的目的文件夹. Subdir 代码是在 TXTSETUP.SIF 的 [WinntDirectories] 区段中进行定义的.
upgradecode 是个个位数, 用于决定是否要升级比较老版本的同名文件. 它可以决定是否要在文本安装模式下复制这个文件.
以下是用于决定文件复制的代码定义.
状态代码 – 复制操作
0 – 总是复制这个文件
1 - 只有当同名文件存在于安装目录中时, 才复制这个文件
2 - 只有当安装目录中没有同名文件时, 才复制这个文件
3 - 不要复制这个文件
newinstallcode 是个个位数, 当全新安装时就要用到这个. 它可以决定是否要在文本安装模式下复制这个文件. newinstallcode 为可选项; 如果没有包含这个代码, 则文件不会被复制 (代码 = 3).
newfilename 用于重命名要复制的文件. 以下举例说明.
autochk.exe = 100,,,,,,_x,2,0,0,,1,2
此行的定义是, AUTOCHK.EXE 这个文件是在安装光盘上, 没有压缩, 会被复制到 %WinDir%system32 文件夹中(可在[WinntDirectories] 中查到 2 的定义). “upgrade code” 和“new installation code” 都是 0, 这意味着不管原来是 Win2000 还是要全新安装, 这个文件都会被复制到目的文件夹中..