Professional Documents
Culture Documents
需要准备的材料:
C:\XPCD\$OEM$\$1\install\
C:\XPCD\$OEM$\$1\drivers\
唯一一个你可以改名的文件夹只有“install”和“drivers”,你可以把它们改名为“Extras”、
“MyStuff”或者其他什么你喜欢的名字(最好不要使用中文)。本文则会假设你就使用“install”
和“drivers”,所以确保你使用的名称跟你在批处理文件中的名称是统一的。
创建 Winnt.sif 应答文件
新建或修改现有应答文件:新建
安装类型:Windows 无人值守安装
Windows 平台:Windows XP Home 或者 Professional
交互等级:全部自动
分发文件夹:从 CD 安装
另外,你还要同意授权协议,然后按照你的实际情况填写安装过程中需要的其他信息。
如果有什么选项的含义你不是很明白,那也可以忽略它,对于这些忽略的或者没有填写的选
项,Windows XP 将会使用默认设置来进行安装。
如果你不打算安装额外的程序,而只是进行无人值守安装,那就可以直接参考结束工作。
重要
[Unattended]
OemPreinstall=Yes
UnattendSwitch="no"
你也可以查看参考资料和资源获得批处理文件的范例。
批处理文件和命令的使用
在我们使用批处理文件安装额外的程序之前,你应该知道批处理文件起到什么样的作用
以及它们是怎样使用的。
在本文的每一页中,每个应用的批处理命令都会被当作一个完整的批处理文件对待,都
有自己的开头和结尾(应用程序和 DirectX 的批处理文件除外)。你可以选择使用多个单独
的批处理文件,但也可以把它们全部综合在一起。
如果你已经对批处理文件有所了解,并且想看到更多的示例,你可以察看后面的资源页。
批处理文件运行的截图: Screenshot
执行 dx90b_redist.exe,同意 EULA,然后选择把文件解压缩到这个文件夹:
C:\XPCD\$OEM$\$1\install\Directx9b\
为了节省空间你也可以删除 BDA,BDANT 和 DirectX 这三个文件,总共可以节约
16MB 左右。这个方法在 Windows XP SP1 下测试完全可行。整个文件夹现在应该是这样
的:
为了让你同意 EULA(事实上在解压缩安装文件的时候我们就同意过了),微软禁止了
DirectX 的无人值守全自动安装方式,因此我们要改动一下安装文件,以便可以无人值守安
装。如果你想要自己修改,按么找一个二进制编辑软件,打开 dxsetup.exe 文件,搜索 0x33e2
然后把这一行的 74 改成 EB。
在你的批处理文件中添加如下命令:
ECHO.
ECHO Installing DirectX 9.0b
ECHO Please wait...
start /wait %systemdrive%\install\DirectX9b\dxsetup.exe /opk
点击放大
应用程序的全自动安装
在本段中,我们会教你怎样在无人干预的情况下全自动安装常用的应用程序。所涉及到
的程序都在左侧的列表中。
每一页中都会向你展示你需要用到的批处理命令。而你也可以把它们添加到你自己的批
处理文件中,或者如果你分别为应用程序和补丁程序设置了不同的批处理文件,你就可以把
这些命令添加到单独的一个 applications.cmd 批处理文件中。同时,你可以在资源部份看看
我是怎样做的。
尚未添加的应用程序
Winamp
Messenger Plus!
没有添加这些程序是因为,在全自动安装这些程序完成后,这些程序会试图自动运行或
者要求你回答一些问题。
获得 Hotfixes
方法 1:
方法 2:
记下每个补丁程序的知识库文章编号,然后按照方法一中的说明来分别查询它们;或者
使用 Technet 安全公告编号(MSxx-xxx),然后使用这个 URL:
http://www.microsoft.com/technet/security/bulletin/MSxx-xxx.asp,把 xx-xxx 用 HFNetChk
中显示的编号代替。
安装 Hotfixes
把所有的补丁程序都保存在这个文件夹中:C:\XPCD\$OEM$\$1\install\Hotfixes\
打开记事本,复制并粘贴如下的命令(这只是一个范例,如果这里的文件路径跟你的实
际情况不同,请做适当的修改):
CLS
@echo off
ECHO.
ECHO Installing Q815021...
start /wait %systemdrive%\install\Hotfixes\Q815021_WXP_SP2_x86_ENU.exe /Q /M /Z
ECHO.
ECHO Installing Q811493...
start /wait %systemdrive%\install\Hotfixes\Q811493_WXP_SP2_x86_ENU.exe /Q /M /Z
ECHO.
ECHO Installing Q819639...
start /wait %systemdrive%\install\Hotfixes\WindowsMedia9-KB819639-x86-ENU.exe /Q:A /R:N
ECHO.
ECHO Installing Q817606...
start /wait %systemdrive%\install\Hotfixes\Q817606_WXP_SP2_x86_ENU.exe /Q /M /Z
ECHO.
EXIT
像这样的文件应
该使用这个参数 像这样的文件要使用这个参数来安装:
来安装: /Q:A /R:N
/Q /M /Z
接着把文件保存为 hotfixes.cmd,或者添加到你已有的批处理文件中。然后这些补丁
程序就会一个接一个地全自动安装好了,这过程中并不需要用户的参与。
如果你每次装好系统后都要升级大量的驱动程序,那么本段就向你演示了怎样在安装
Windows 的同时升级设备的驱动程序,而不是仅安装光盘上 drivers.cab 文件中保存的过时
驱动程序。这并不像你想象的那么难!
说明:
OemPnPDriversPath="Drivers\Catalyst3_6\2KXP_INF;Drivers\Catalyst3_6\tv_out\WDM_
XP"
在这一行中你可以告诉安装程序在哪里查找比光盘中自带的驱动版本更新的驱动程序
目录,如果找到了更新的驱动这些驱动就会被用来替代操作系统自带的那些。我们可以用半
角冒号来分隔不同的目录。
DriverSigningPolicy=Ignore
这一行可以使得安装程序强制安装没有经过微软数字签名认证(WHQL)的驱动,通常
这个命令都是跟 OemPnPDriversPath 一起使用的。
2. 从 .exe 文件中解压缩所有文件到一个文件夹,例如:
C:\XPCD\$OEM$\$1\Drivers\Catalyst3_6\
4. winnt.sif 应该是这样的(用红色边框标记出的部分):
你可以看到,在批处理文件中指向的路径是 inf 文件所在的文件夹,we 不是 inf 文件本
身。保存 winnt.sif 文件,这样你就完成了。对于其他类型的设备,你同样可以按照上面的
方法来自动安装驱动程序。
不过在安装 SB Live!声卡的驱动时就没有这么幸运了,似乎该声卡的驱动程序只能通过
exe 文件安装而不是 inf 文件(然而直接通过运行安装程序也许同样可以全自动无人值守安
装好该声卡的驱动,只不过我还没有尝试过)。
全自动破解 UXTheme.dll 文件
下载: UXTheme_xpsp1.zip
然后在批处理文件中添加如下命令:
ECHO.
ECHO Copying patched UXTheme.dll...
REN %systemroot%\System32\dllcache\uxtheme.dll uxtheme.old
COPY "%systemdrive%\Install\uxtheme\uxtheme.dll" "%systemroot%\System32\dllcache\"
REN %systemroot%\System32\uxtheme.dll uxtheme.old
COPY "%systemdrive%\Install\uxtheme\uxtheme.dll" "%systemroot%\System32\"
点击放大
自动调整注册表设置
在本页中,我们会教你怎样把最常用的注册表调整方法组合到一个.reg 文件中然后统一
执行。这样在启动过程中你就可以禁止漫游 windows XP 的运行,或者禁用语言栏。
如果准备这样做,把下列命令粘贴到你的批处理文件中:
ECHO.
ECHO Applying Registry Tweaks...
REGEDIT /S %systemdrive%\install\RegTweaks.reg
下面,你可以看看我最喜欢的注册表调整。但是那些还不是全部,建议你访问 Kelly's XP
Corner,那里有更多好用的注册表调整方法。建议你直接把下面的内容复制出来然后粘贴到
你自己的 RegTweaks.reg 文件中去,这样你就可以清楚地看到具体由哪些命令,他们都起
到什么作用 (注意:以下的文件中关于自动登录的内容需要你按照自己的实际情况添加你
的用户名和密码)。
结束工作
例如:
C:\XPCD\i386\
C:\XPCD\$OEM$\
而不是:
C:\XPCD\i386\$OEM$\
把 C:\XPCD\ 目录下的所有文件都刻录到光盘上,别忘了根据这两篇文章的方法使该
光盘可以引导系统:
The Elder Geek | Windows Help.net
如果你喜欢在字符界面下安装时手工制定一个分区来安装并选择袭击想要的文件系统,
请确保你的 winnt.sif 文件的[Data]和[Unattended]字段下有如下的参数:
[Data]
AutoPartition=0
[Unattended]
Repartition=No
然后,当安装程序询问你选择哪块硬盘/分区安装时,请删除当前分区并重
新创建,这样你就可以选择该分区是用的文件系统了。如果你没有这样做,安装
程序就会直接开始安装系统,并且直接使用当前该分区是用的文件系统。
无人值守安装 Winnt.sif 文件命令解释
[Data]
AutoPartition=1 or 0
如果你在这里设置为 1,Windows 的安装程序就会在任意一个有足够可用空间的硬盘分区上安装操作
系统。如果你删除这一行或者把值设置为 0,则安装程序会在安装过程中讯问你要把操作系统安装到哪个
硬盘分区,并且如果该分区已经包含了一个操作系统,安装程序也会给你合理建议。
UnattendedInstall = "Yes"
如果这里设置为 Yes,则安装程序会进行一次无人值守安装。
[Unattended]
UnattendMode=FullUnattended
在这里设置为FullUnattended 将会进行一次完全自动的无人值守安装,在安装过程中遇到的所有问题
都将由在winnt.sif文件中预设的答案来回答,在安装过程中你将不能改变任何预设值。其他值得含义你可以
在Winnt.sif 部份所提供的Ref.chm 文件中找到。
OemSkipEula=Yes or No
在这里设置为 Yes 将会跳过 EULA 屏幕,因为你已经在创建应答文件的时候读过用户许可协议了。
在这里设置为 No 则意味着你需要在安装过程中按 F8 键同意许可协议。
OemPreinstall=No or Yes
这个选项默认设置为 No,但是如果你还想在安装系统的过程中从$OEM$/$1 文件夹下安装额外的程
序,你就应该把它设置为 Yes,这样安装程序就会知道这次的安装会发布其他程序,而预先把相应的安装
文件复制到系统盘中。
TargetPath=\WINDOWS
这个选项告诉了安装程序要把 Windows 安装到哪个目录中。
Repartition=No
这个选项可以选择是否自动删除目标计算机上的所有分区并用 NTFS 文件系统格式化硬盘。
UnattendSwitch="no"
这个选项可以用来选择是否在用光盘引导系统进行安装后跳过欢迎屏幕。
重要:
WaitForReboot="No"
这个选项用来决定计算机是否在图形界面的安装进行完毕后等待 15 秒。设置为No则可
以禁止等待。
OemPnPDriversPath="Drivers\Catalyst3_6\2KXP_INF;Drivers\asus\sound\"
在这一行你可以告诉安装文件到哪里搜索比操作系统自带的驱动程序更新的版本。如果
安装程序能找到一个更好的版本,则会自动安装。你可以在驱动程序页面看到更详细的解释。
DriverSigningPolicy=Ignore
这个选项可以强制安装程序安装没有经过 WHQL 认证的驱动程序。这个选项要和
OemPnPDriversPath 选项联合使用。
AutoActivate = Yes
这个选项可以自动激活你的 Windows XP。如果你想要自动激活 Windows,你首先必
须设置一个 Internet 连接,而且也要确保你的产品序列号已经写在[UserData]字段下。
[GuiUnattended]
AdminPassword = (你的密码) 或者 *
这个选项可以让你为 inde Windows XP 中的 Administrator 帐户设置密码。如果你在这
里输入* 则意味着没有设置任何密码。means no password will be set.(在设置密码的时候
记得把括号删掉)。
EncryptedAdminPassword=Yes 或者 No
这个选项用来告诉安装文件你的密码是否被加密,Yes 表示密码被加密了,而 No 表示
密码为被加密。如果你没有为 Administrator 帐户设置密码,那么这个选项应该被设置为 No。
如果你选择了 Yes,Setup Manager 就会把密码加密保存在 winnt.sif 文件中。
OEMSkipRegional=0 或者 1
这个选项设置为 0 会显示区域设置屏幕,而设置为 1 就可以跳过这个屏幕。
TimeZone=85
这个选项告诉安装程序时区的设置,例如 GMT 标准时间的值是 85,每个不同的时区
都由相应的数值表示,一个完整的时区和数值对照表可以在部署工具的 ref.chm 文件中看
到。
OemSkipWelcome=0 或者 1
如果上面的 OemPreinstall 选项你设置为 No,那么这个选项你就要设置为 0;而如果
OemPreinstall 选项设置为 Yes,则这个选项就要设置为 1。如果设置为 0,安装程序就会
知道你不想在图形界面的安装过程中显示欢迎屏幕。
[Display]
BitsPerPel=32
这个选项指定了屏幕的色彩位数。可用的值有:32,24,16,还有 8(也就是 256 色)。
Xresolution=1024
这个选项指定了屏幕的默认横向分辨率。
Yresolution=768
这个选项指定了屏幕的默认纵向分辨率。
Vrefresh=85
这个选项设置了屏幕的刷新率。请确保这个设置没有超出你的显示器的可用范围,否则
很有可能损坏显示器。
[UserData]
ProductKey=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
这个选项告诉了安装程序在安装过程中使用的序列号
FullName="Insert Name"
这个选项用来指定你的名字,这将会显示在系统属性的”注册给“下。
ComputerName=Insert Name
在这个选项中你可以指定计算机的名称,这个名称会用在系统和网络中,而且该名称也
会在系统属性的计算机名选项卡下
[TapiLocation]
CountryCode=44
这个选项用来设置国家代码,例如英国就是 44。对于其他国家的代码请参考部署工具
中的 ref.chm 文件。
Dialing=Tone
这个选项用来指定你的电话线路类型,可用的值是 Tone 和 Pulse。
[RegionalSettings]
LanguageGroup=1
这个选项用以指定安装的语言组类型,详细信息请参考部署工具中的 ref.chm 文件。
Language=00000809
这个选项用以指定安装的语言类型,详细信息请参考部署工具中的 ref.chm 文件。
[Identification]
JoinWorkgroup=WORKGROUP
这个选项用以指定将要加入的工作组。如果你没有使用网络,就可以把这个选项保持默
认设置。
[Networking]
InstallDefaultComponents=Yes or No
这个选项用以告诉安装程序你是否安装默认的网络组件。如果你设置了 Yes 那么默认
的网络组件就会被安装;如果你设置了 No 就可以自定义要安装的协议、服务还有客户端。
配置该选项的最佳方法是通过 Setup Manager(setupmgr.exe)。
[Components]
msmsgs=off
这个选项可以让安装程序不安装 Windows Messenger 4.6
msnexplr=off
这个选项可以让安装程序不安装 MSN Explorer 7.
freecell=off
这个选项可以让安装程序不安装 空当接龙游戏。
hearts=off
这个选项可以让安装程序不安装 红心大战游戏。
minesweeper=off
这个选项可以让安装程序不安装 扫雷游戏。
pinball=off
这个选项可以让安装程序不安装 三维弹球游戏。
solitaire=off
这个选项可以让安装程序不安装 纸牌游戏。
spider=off
这个选项可以让安装程序不安装 蜘蛛纸牌游戏。
zonegames=off
这个选项可以让安装程序不安装 MSN Zone 在线游戏。
[Shell]
CustomDefaultThemeFile = "%WinDir%\Resources\Themes\MyTheme.theme"
这个选项用以指定默认情况下 Windows 使用的主题,所指定的可以是系统自带的其他
主题,或者是第三方的主题。通过指定这个选项,Windows XP 在你第一次登陆的时候就可
以使用你喜欢的主题了。
DefaultStartPanelOff = Yes
这个选项告诉安装程序 Windows XP 将会使用经典开始菜单,并且像其他程序一样在
桌面上显示我的电脑、我的文档的图标。如果这个选项设置为 No,安装程序就会使用默认
的 Windows XP 开始菜单。
DefaultThemesOff = Yes
这个选项用以告诉安装程序使用Windwos 经典主题。注意:如果你把
CustomDefaultThemeFile设置为Yes,那么这个选项将会覆盖CustomDefaultThemeFile 选
项。
[GuiRunOnce]
%systemdrive%\install\main_batch.cmd
%systemdrive%\install\hotfixes.cmd
%systemdrive%\install\applications.cmd
GuiRunOnce 字段是用来指定批处理文件位置的,在这里指定的批处理文件会在安装
程序运行完毕并登录系统后运行。当管理员帐户(或者你自己的账户)登录系统后载入
Windows 外壳之前就会自动执行这里的批处理文件,而这些批处理文件的详细内容你可以
在左侧导航栏的“无人值守安装”下看到。
下载
下载: DelUser
在批处理文件中添加如下命令:
ECHO.
ECHO Copying deluser utility...
COPY "%systemdrive%\Install\Tools\deluser.exe" "%systemroot%\"
ECHO.
ECHO Deleting ASP.NET User Account created by .NET Framework 1.1...
start /wait DELUSER /Q aspnet
在批处理文件中添加如下命令:
ECHO.
ECHO Copying PsShutdown utility...
COPY "%systemdrive%\Install\Tools\psshutdown.exe" "%systemroot%\"
ECHO.
然后加入如下的命令(只能把它们加入到批处理文件的最末尾,如果你使用了多个批处
理文件则加入到最后一个批处理文件的最末尾):
ECHO.
ECHO Restarting the PC in 1 minute...
psshutdown.exe -r -t 60 -f -m "Windows XP will now restart in 1 minute, this will give
enough time for the shortcuts to update and for the shell to fully load before its ready to
restart!"
注意: 为了使PsShutdown能够起作用,你必须安装有一块网卡,并且网卡的驱动程序
要能正常安装。如果你无法在安装操作系统的时候给网卡安装驱动,那么你就比较倒霉了,
抱歉!
在批处理文件中添加如下命令:
ECHO.
ECHO Copying PSKill utility...
COPY "%systemdrive%\Install\Tools\pskill.exe" "%systemroot%\"
ECHO.
PSKill.exe 程序在批处理文件中是这样使用的:
PSKill nameofprocess
在你的winnt.sif文件[Data]字段下添加:AutomaticUpdates=yes
» 禁用 Windows 防火墙
[WindowsFirewall]
Profiles = WindowsFirewall.TurnOffFirewall
[WindowsFirewall.TurnOffFirewall]
Mode = 0
[IEPopupBlocker]
AllowedSites=www.msfn.org;www.microsoft.com;www.amazon.com
BlockPopups=Yes
FilterLevel=Medium
ShowInformationBar=Yes
你可以在AllowedSites下添加任何数量的网站地址,它们之间可以用半角分号隔开。
BlockPopups可以被设置为Yes或No,默认情况下该功能是被启用的。
FilterLevel可以设置三个选项:High、Medium以及Low:
• High - 过滤所有弹出窗口
• Medium - 过滤大部分自动弹出的窗口(默认设置)
• Low -允许来自安全站点的弹出窗口
ShowInformationBar可以设置为Yes或No。如果一个弹出窗口被过滤,或ActiveX控件的安装企图
被阻止,在IE的地址栏下就会显示信息栏。该功能默认是启用的。
» Windows 安全中心
我们可以通过一系列注册表调整禁用安全中心的功能,或者通过停止相关服务的方法将其禁
止。
以下注册表设置禁用了系统提示区中的气球提醒,Windows 防火墙被关闭的提醒,没有安装
杀毒软件的提醒,或者自动更新被禁用的提醒:
;禁用杀毒软件提醒
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"AntiVirusDisableNotify"=dword:00000001
;禁用防火墙提醒
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"FirewallDisableNotify"=dword:00000001
;禁用自动更新提醒
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"UpdatesDisableNotify"=dword:00000001
以下注册表设置忽略了系统对杀毒软件和防火墙的监控设置,如果你用的第三方杀毒软件以
及网络防火墙无法被安全中心识别,则该功能就显得很有用:
;忽略杀毒软件
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Security Center]
"AntiVirusOverride"=dword:00000001
;禁用安全中心
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc]
"Start"=dword:00000004