|
来看看这个。
无人值守Windows XP安装光盘制作教程
[box=70DB93]此文由碧海蓝天归类整理,资料来源于各大论坛及网站,目的是为了网友们能更好的交流制作经验和心得,无任何商业目的
文中有任何的错误欢迎广大光盘制作爱好者提出,我会一一更正。[/box]
[box=5F9F9F]第一章 准备工作[/box]所需要的工具:
1. 集成了SP2补丁包的Windows XP安装光盘
2. XP SP2部署工具
3. CDImage for Windows XP Professional / Home 或easyboot等启动光盘制作工具
4. 一个顺手的光盘刻录工具,例如Nero - Burning Rom
准备工作:
1. 创建一个文件夹为工作目录,名称最好为英文,
例如:名为XPCD的文件夹 X:\XPCD(X为任意硬盘分区,下同)
2. 复制整合了SP2的Windows XP安装文件到 C:\XPCD
3. 在C:\XPCD中创建一个名为$OEM$的子文件夹,
然后按照$OEM$发布文件夹这一页的说明创建所有需要的文件夹。
通过使用这些文件夹,
我们就能把自己常用的软件、驱动程序以及注册表设置放在里面。
分支:$OEM$发布文件夹概述
[box=5F9F9F]第二章 创建应答文件[/box]
这一步是要创建一个名为winnt.sif的应答文件,
这个文件将在安装系统的过程中提提供说明以便能自动完成
在XP安装光盘中打开\SUPPORT\TOOLS\DEPLOY.CAB,
并将DEPLOY.CAB压缩包文件里面的所有文件全部解压缩到X:\sysprep目录
我们可以在目录中看到:安装管理器(setupmgr.exe)
这是一个向导模式的应答文件创建工具
因此用这个工具创建的应答文件基本上不会太难。
创建过程中注意使用以下的选项:
新建或修改现有应答文件:新建
安装类型:Windows 无人值守安装
Windows 平台:Windows XP Home/Professional
交互等级:全部自动
分发文件夹:从CD安装(忽略关于自定义IE的信息,它们是可以工作的!)
确定内容后,同意授权协议,然后填写在安装Windows XP 过程中需要自动输
入的所有信息。如果你遇到任何不理解的内容,则直接忽略掉。
那种情况下Windows XP会使用默认设置。
输入完成之后,安装管理器会创建一个名为unattend.txt的文件,
因为我们要从光盘上安装系统,因此清将该文件改名为winnt.sif。
QUOTE:
我们需要注意以下几个方面:
1.OEM预安装的设置
因为我们会使用$OEM$发布文件夹来安装常用的软件、驱动以及注册表设置。但是为了能成功安装,我们需要在winnt.sif文件的
[Unattended]字段下指定两个值:
[Unattended]
OemPreinstall=Yes
UnattendSwitch="yes"
OemPreinstall=Yes
可以让Windows XP的安装程序知道光盘上还有一个$OEM$发布文件夹
同时这个值也会让安装程序复制要安装的程序到安装Windows的分区上的发布文件夹中。
UnattendSwitch="yes" 可以让Windows XP的安装程序跳过
“欢迎使用Windows XP”界面,那里本使设置用户帐户以及网络选项的。
如果你不跳过这个,那么整个过程就算不上是无人值守了
2.自己选择安装的分区和格式化选项:
如果你需要在文本安装过程中自己选择一个目标分区,并选择合适的文件系统,请确保你已经在winnt.sif文件的[Data] 和[Unattended]字
段添加以下值:
[Data]
AutoPartition=0
[Unattended]
FileSystem=*
3.winnt.sif文件放在哪里?
将winnt.sif复制到 C:\XPCD\I386\
分支:winnt.sif参数详解
分支:winnt.sif(unattend.txt)中的组件列表及中文说明
[box=5F9F9F]第三章 - 熟练使用批处理文件[/box]
在我们使用批处理文件安装常用程序以及注册表设置之前,
你应该知道批处理文件起到什么样的作用以及它们是怎样使用的:
批处理文件(*.cmd 或者 *.bat,不过建议使用.cmd)
可以在Windows XP的安装过程中多个进度下被执行。
使用批处理文件可以帮助我们一次自动进行多个任务,中间可以不用被打断。
它们可以从cmdlines.txt、svcpack.inf或者注册表中的RunOnceEx项目下,
或者winnt.sif文件的[GuiRunOnce]字段下被执行,阅读完以下内容后你将会有所了解
QUOTE:
典型的批处理文件的内容
批处理文件支持命令行命令的所有参数,如果要打开Windows XP的命令行模式,请在开始菜单中点击运行,然后输入cmd并回车。
让我们试试看用一个很小的批处理文件就完成很多事情。打开记事本,然后把下面的内容复制进去:
CODE:
@echo off
title Batch File Testing
echo Hello World
echo.
echo Starting MS Paint
start mspaint
echo.
echo Starting Wordpad
start Wordpad
echo.
pause
exit
[Copy to clipboard]
随便用一个名字保存该文件,不过注意保存的时候文件的扩展名要设置为.cmd。然后,双击这个文件。你会发现该批处理文件把窗口的名字重命名为“Batch File Testing”,同时还打开了Windows画图和记事本程序,并要你按下任意键,然后该脚本自动退出
@echo off 隐藏C:\>提示符以及其它显示出来的批处理命令.
echo. 包含一条线的间隔。
echo message 在命令行窗口显示“message”,一般用作注释。
title 设置窗口的标题。
start 启动一个应用程序,或安装程序。
pause 显示“Press any key to continue...”
exit 退出命令行窗口。
一旦你开始添加常用程序到无人值守光盘中,你将会发现大部分参数
(在应用程序区域)都可以表示成下面那样:
start /wait %systemdrive\install\some_application\setup.exe /switch /anotherswitch
start命令会启动软件的安装程序
而/wait命令会让系统在处理批处理文件中的下一条命令前等待前一个软件安装完成。使用/wait命令是很重要的,只有这样才不会让批处理文件中的所有命令一下子全部执行起来,那样将会导致同一时间运行多个软件的安装程序。
当你对批处理命令有所了解,并且想看到更多示例的时候,请访问范例页面。
QUOTE:
cmdlines.txt、svcpack.inf以及[GuiRunOnce]
批处理文件还可以从cmdlines.txt或svcpack.inf中运行,这两个文件在Windows XP安装过程中的T-13/T-12分钟时使用。cmdlines.txt适用于类似添加用户和设置自动登录,或者导入你的HKEY_CURRENT_USER注册表设置到默认配置文件中等任务。你将在各自的页面上了解到更多详细内容,而svcpack.inf更适用于安装Pre-SP2 Hotfixe。
从[GuiRunOnce]下运行批处理文件的示例你可以看这里:
正如你可能在截图中看到的,其中应用了“ECHO.”和“ECHO message”命令的组合,虽然那样用并不是必须的,但是这样做可以让你清楚的了解整个安装过程![GuiRunOnce]字段是在第一次登录的时候运行的。
QUOTE:
批处理文件要放在哪里?
对于[GuiRunOnce],你可以把它放在$OEM$发布文件夹的任何位置。例如,如果你把batch_file.cmd放到 C:\XPCD\$OEM$\$1\install\,那么随后你就应该在[GuiRunOnce]字段中插入下列路径:
[GuiRunOnce]
%systemdrive%\install\batch_file.cmd
指定为安装文件夹的C:\XPCD\$OEM$\$1\Install\会被复制到系统分区中,因此上面命令中的路径就变成了C:\install\ ,关于这一点的详细信息可以在$OEM$文件夹概述一页中找到。
cmdlines.txt文件应放在\$OEM$文件夹内,且不需要额外的设置以表明它的存在。Windows XP的安装程序会自动查找cmdlines.txt文件,而所有由cmdlines.txt启动的批处理文件都应该放在同一个文件夹中。
svcpack.inf应该放在 C:\XPCD\I386\ 文件夹下(并请确保svcpack.in_文件被删除)。任何由svcpack.inf启动的批处理文件都应该保存在 C:\XPCD\I386\svcpack\ 文件夹下,否则就必须要在svcpack.inf中指定。详细信息请参考安装Pre-SP3 Hotfixes。
QUOTE:
到这里,你已经了解了很多内容。概括说来,我们把Windows XP SP2光盘上的文件复制到了硬盘上,准备好了$OEM$文件夹,为Windows XP的安装程序创建了一个winnt.sif应答文件,而且大致了解了一下批处理命令。
QUOTE:
但是就这样完事了?不是的。
一张充满个性的Windows XP 自动安装光盘还需要你学习很多的内容呢!
碧海蓝天带你继续完成你的个性化全过程
[box=5F9F9F]第四章 Windows设备驱动程序的静默安装[/box]
如果你每次装好系统后都要升级大量的驱动程序,那么本段就向你演示了怎样在安装Windows的同时升级设备的驱动程序,而不是仅安装光盘上drivers.cab文件中保存的过时驱动程序。这并不像你想象的那么难!
对于拥有SATA/RAID/SCSI设备的人,你可以参考集成SATA驱动的方法,因为本段的方法并不能在安装过程中载入磁盘控制器的驱动程序,而你也不能在无人值守安装过程中按F6选择驱动
分支:SATA驱动集成详解
QUOTE:
winnt.sif文件[Unattended]字段下集成的驱动
微软为我们想的真周到,让我们可以自己探索这种非常有意思的集成方法
OemPnPDriversPath="Drivers\000_intel_INF;Drivers\001_gigabit_LAN;Drivers\002_monitor"
在这一行中你可以告诉安装程序在哪里查找比光盘中自带的驱动版本更新的驱动程序目录,如果找到了更新的驱动这些驱动就会被用来替代操作系统自带的那些。
注意:不同的文件夹可以用半角冒号“;”隔开。
DriverSigningPolicy=Ignore
这一行可以使得安装程序强制安装没有经过微软数字签名认证(WHQL)的驱动,通常这个命令都是跟OemPnPDriversPath一起使用的(但是据所这种方法无效,那么请尽量选择通过了WHQL认证的驱动)。
你可以为不同硬件添加多种驱动程序,在特定的系统上安装错误的驱动程序并没有什么风险,因为Windows XP会自动为你的硬件条选择最佳驱动。
QUOTE:
如何准备驱动程序
所有驱动程序都用各种不同的方式打包,这也就是我们无法为所有驱动程序制作一个统一的安装说明的原因。但是它们中的大部分都可以使用解压缩软件解压缩,提取出其中的一个或多个INF文件。
将你的驱动程序解压缩到任何一个文件夹中,然后检查其中的文件。有时你可能会发现很多包含了INF文件的子文件夹,在这种情况下你需要在OemPnPDriversPath下为每个程序设置不同的路径。这主要是因为Windows XP的安装程序并不自动在子文件夹中扫描INF文件。
使用带有数字的名称重命名含有驱动的文件夹,这样可以确保驱动程序可以按照一定的顺序自动安装。正如你所知道的,在安装其他设备的驱动之前首先安装主板芯片组的驱动程序是很重要的,正因为如此包含芯片组驱动程序的文件夹的编号是000,这样安装程序首先就会检查该文件夹并安装其中的驱动。下面是一个例子,告诉你怎样安排各种驱动的安装顺序:
000_chipset
001_network
002_graphics
003_tv_out
004_sound
005_monitor
006_keyboard
007_mouse
008_and_so_on
因此,首先要安装的是芯片组的驱动,然后是网卡,接下来安装的是显卡和声卡(还有电视卡,如果你有的话),随后是显示器的驱动,最后则是其他设备,例如键盘鼠标、打印机等的驱动。
复制所有包含驱动程序的文件夹到 C:\XPCD\$OEM$\$1\drivers\
打开winnt.sif文件,并在[Unattended]字段下添加如下两行(驱动的路径是举例说明的,你需要替换成自己的实际路径):
OemPnPDriversPath="Drivers\000_intel_INF;Drivers\001_gigabit_LAN;Drivers\002_monitor"
DriverSigningPolicy=Ignore
正如你所看到的,路经指向的是包含了.inf文件的文件夹所在的位置,而不是.inf文件本身。而到这你就已经做完了驱动的集成!
QUOTE:
补充说明
并不似乎所有驱动程序都可以用这种方法安装的。如果你遇到了无法这样安装的设备驱动,你也许可以考虑用驱动程序的安装文件进行一个静默安装,并从[GuiRunOnce]下将其执行。对于各种不同类型的安装包,你可以参考应用程序进行静默安装的方法。
分支(待续)
其它需要注意的:你可以使用上面的方法安装ATI Catalyst驱动程序,但是这样无法安装SmartGart。好在还有其他方法:你可以用Catalyst driver的安装包在[GuiRunOnce]下进行静默安装,记得要使用ISS文件。即:静默安装用InstallShield技术打包的程序
分支(待续)
[box=5F9F9F]第五章 静默导入个性的注册表设置[/box]
本章中,我们会教你怎样把最常用的注册表调整方法组合到一个.reg文件中
然后在安装过程中一次全部导入到注册表中,这样一来你的系统安装完毕便充满着你
的个性,而且做了很多你认为的优化,相信你会对本章的内容十分的感兴趣!
这里,你可以看看我最喜欢的注册表调整,但是那些还不是全部,建议你平时多注意收集更多好用的注册表调整方法。你可以直接把下面的内容复制出来然后粘贴到记事本中,这样你就可以更清楚地看到这些命令,并按照自己的需要对其进行调整。
如果你不了解其中的一条起到什么样的作用,那么就不要用它,因为我这里列举的不一定就是你需要的。你可以对自己的注册表进行成百上千处调整,你需要的只是选出自己常用的那些。
CODE:
#减少开机滚动条滚动次数
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"=dword:00000001
#加快开关机机速度,自动关闭停止响应
[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
"AutoEndTasks"="1"
"HungAppTimeout"="200"
"WaitToKillAppTimeout"="1000"
#关机时自动关闭停止响应的程序
[HKEY_CURRENT_USER\Control Panel\Desktop]
"AutoEndTasks"=dword:00000001
#关机结束程序等待时间
[HKEY_CURRENT_USER\Control Panel\Desktop]
"HungAppTimeout"="100"
#自动终止无响应程序
[HKEY_CURRENT_USER\Control Panel\desktop]
"AutoEndTasks"="1"
#缩短XP的开关机的等待时间
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
"WaitToKillServiceTimeout"="500"
[Copy to clipboard]
当你把所有常用的注册表调整都写到写字板中之后,
请将其以扩展名为.reg为名保存在 C:\XPCD\$OEM$\$1\install\
然后在你的批处理文件中添加如下命令:
ECHO.
ECHO 正在应用注册表调整...
REGEDIT /S %systemdrive%\install\*.reg(*代表你自己起的文件名称,下同)
细心一点的朋友可能发现了
通过这种方法导入的所有HKEY_CURRENT_USER下的设置都将只能对当前登录的用户生效。如果你希望这些调整可以对所有用户帐户生效,那请你可以继续看下面
QUOTE:
导入HKEY_CURRENT_USER下的注册表设置
嗷嗷郁闷,写到这居然家里电脑断电,NND
好了,我们继续,Go!
这个问题可以使用cmdlines.txt文件解决
该文件会在Windows XP安装程序运行到T-12分钟时自动运行。
打开记事本,复制并粘贴以下内容进去:
QUOTE:
[COMMANDS]
"REGEDIT /S *.reg"
将该文件以cmdlines.txt为名保存到 C:\XPCD\$OEM$\ 文件夹下。
下面是对注册表HKEY Current User键调整的一个例子
如果你不清楚这些调整有什么作用,请不要使用。
CODE:
#关机时自动清除开始菜单的文档记录
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"ClearRecentDocsOnEixt"=hex:01,00,00,00
#禁止高亮显示新安装的程序(开始菜单)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_NotifyNewApps"=dword:00000000
#在开始菜单以菜单方式显示"我的文档"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_ShowMyDocs"=dword:2
#在开始菜单以菜单方式显示"我最近使用的文档"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_ShowRecentDocs"=dword:2
#在开始菜单以菜单方式显示"我的图片"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_ShowMyPics"=dword:2
#在开始菜单以菜单方式显示"我的音乐"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_ShowMyMusic"=dword:2
#在开始菜单以菜单方式显示"我的收藏夹"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"StartMenuFavorites"=dword:2
#在开始菜单以菜单方式显示"我的电脑"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_ShowMyComputer"=dword:2
#在开始菜单显示"网上邻居"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"Start_ShowNetPlaces"=dword:1
[Copy to clipboard]
完成后请将*.reg和cmdlines.txt保存到同一个文件夹中,例如 C:\XPCD\$OEM$\下。
这一页导入的所有HKEY_CURRENT_USER下的设置都会被映射到默认的用户配置文件中,而以后新建的用户也将被自动应用这些设置.
好啦,我们又向个性化自己的安装光盘迈进了一步
碧海蓝天温馨提示你去喝杯茶远眺一下,放松一下你的视网膜!
[box=5F9F9F]第六章 系统补丁及软件的集成安装[/box]
QUOTE:
OEM集成安装方式
CMDLines.txt是默认的oem集成安装默认文件
CMDLines.txt文件里的程序在系统完成复制和注册组件的时候运行安装
也就是在系统安装剩余12分钟时进行。
其目录规则举例如下:
$oem$\
$oem$\CMDLines.txt
$oem$\InstDX9.bat
$oem$\INSTHFS.bat
$oem$\INSTIE6.bat
$oem$\$$\
$oem$\$1\
$oem$\$1\install
$oem$\$1\install\Hotfixes\
$oem$\$1\install\Hotfixes\KB822831.exe
$oem$\$1\install\Hotfixes\KB823559.exe
$oem$\$1\install\Hotfixes\KB824105.exe
$oem$\$1\install\Hotfixes\KB824146.exe
$oem$\$1\install\Hotfixes\q814078.EXE
$oem$\$1\install\Hotfixes\Q823718.exe
$oem$\$1\install\UPDATES\
$oem$\$1\install\UPDATES\directx\
$oem$\$1\install\UPDATES\IE6SP1\
$OEM$应与I386在同一目录下。这个前面已经介绍了
InstDX8.bat、INSTHFS.bat、instie6.bat
放在$oem$目录下面和CMDLines.txt、$$、$1并列。
$OEM$\$1 \$1 子文件夹映射到 %systemdrive%,一般是c:\
$OEM$\$$ $$子目录等同于%systemroot%或者%windir%指定的路(c:\windows)
该是介绍CMDLines.txt文件的时候了。这个文件需要放在$oem$目录下。
用记事本新建立一个文本文件:CMDLines.txt
然后编写
[Commands]
"cmd /c start /min cmd /c .\INSTDX9.bat"
"cmd /c start /min cmd /c .\INSTIE6.bat" "cmd /c start /min cmd /c .\INSTHFS.bat"
CMDLines.txt文件的格式是"cmd /c start /min cmd /c .\xxx.bat" ,
这个里面的xxx.bat里的文件名字最好不要超过7位,最好符合8.3格式。
一般OEM版光盘的CMDLines.txt格式如下:
[Commands]
".\$1\update\Q327979_WXP_SP2_x86_CHS.exe /q /n /z"
".\$1\update\Q810583_WXP_SP2_x86_CHS.exe /q /n /z"
".\$1\update\Q329623_WXP_SP2_x86_CHS.exe /q /n /z"
下面介绍BAT文件内容
InstDX9.bat
ECHO.
ECHO Installing DirectX 9.0B......
ECHO Please wait...
start /wait systemdrive\install\UPDATES\directx\dxsetup.exe /opk
ECHO.
EXIT
INSTHFS.bat
cls
@echo off
ECHO. ECHO 安装SP4后的系统安全补丁,请等待。。。。
ECHO Installing KB822831...
start /wait %systemdrive%\install\Hotfixes\KB822831.exe /Q /M /Z
ECHO.
ECHO Installing KB824105...
start /wait %systemdrive%\install\Hotfixes\KB824105.exe /Q /M /Z
ECHO.
ECHO Installing KB823559...
start /wait %systemdrive%\install\Hotfixes\KB823559.exe /Q /M /Z
ECHO.
ECHO Installing KB824146...
start /wait %systemdrive%\install\Hotfixes\KB824146.exe /Q /M /Z
ECHO.
ECHO Installing Q814078...
start /wait %systemdrive%\install\Hotfixes\q814078.exe /Q:A /R:N
ECHO.
ECHO Installing Q823718.EXE...
start /wait %systemdrive%\install\Hotfixes\Q823718.EXE /Q /C:"dahotfix /Q /N /Z" ECHO.
EXIT
instie6.bat
ECHO Installing IE6.0SP1...
start /wait %systemdrive%\install\UPDATES\IE6SP1\IE6SETUP.EXE /Q:A /R:N
exit
上面的方法,在安装过程中会先把$1,$$中的文件拷贝到系统相应目录中
如你不想在安装过程中把文件拷贝到系统目录,可参照下面的方法:
把上面的\install\Hotfixes,\install\UPDATES\IE6SP1,\install\UPDATES\directx
直接建立在$oem$目录下
即:
$oem$\ $oem$\CMDLines.txt $oem$\install\Hotfixes
$oem$\install\UPDATES\IE6SP1
$oem$\install\UPDATES\directx
修改CMDLines.txt内容:
[Commands]
".\install\UPDATES\IE6SP1\IE6SETUP.EXE /Q:A /R:N "
".\install\UPDATES\directx\dxsetup.exe /opk"
".\install\Hotfixes\KB822831.exe /Q /M /Z"
".\install\Hotfixes\KB824105.exe /Q /M /Z"
".\install\Hotfixes\KB823559.exe /Q /M /Z"
".\install\Hotfixes\KB824146.exe /Q /M /Z"
".\install\Hotfixes\Q823718.EXE /Q /C:'dahotfix /Q /N /Z'"
QUOTE:
[GuiRunOnce]安装
winnt.sif文件里的[GuiRunOnce]段是在系统完成安装正式进入桌面前安装。
首先我们要了解winnt.sif--光盘启动后默认的应答文件
制作winnt.sif文件-----执行SetupMGR.exe就可以定制应答文件了.手工添加 [GuiRunOnce] %systemdrive%\install\applications.cmd段,
[GuiRunOnce]段是在win启动后快进入桌面的时候运行的。
这里,我们要建立applications.cmd文件
目录规则:
$oem$\$1\install\applications.cmd
$oem$\$1\install\Applications\
$oem$\$1\install\Applications\winrar.exe
$oem$\$1\install\Applications\MPSETUP.EXE
applications.cmd
Echo 增加 DOS 控制台方式下Tab键补齐程序及目录名功能....
REGEDIT /S %systemdrive%\install\Applications\cmdtab.reg
Echo 增加从任意目录名(驱动器名)访问DOS命令行功能....
REGEDIT /S %systemdrive%\install\Applications\dosshell.reg
Echo 禁用自动磁盘共享功能....
REGEDIT /S %systemdrive%\install\Applications\dis_auto_share.reg
Echo 禁用匿名枚举本机账号功能....
REGEDIT /S %systemdrive%\install\Applications\dis_IPC_acc.reg
ECHO.
ECHO Installing WinRAR 3.15 ECHO Please wait...
start /wait %systemdrive%\install\Applications\winrar.exe /s
ECHO.
ECHO Installing Windows Media Player 9
ECHO Please wait...
start /wait %systemdrive%\install\Applications\MPSETUP.EXE /Q:A /R:N ECHO.
ECHO 删除安装过程中的临时文件...
ECHO. RD /S /Q %systemdrive%\install
ECHO.
Exit
请注意:
如果你想在安装系统的过程中从$OEM$/$1文件夹下安装额外的程序你就应该把winnt.sif中的
[Unattended]
OemPreinstall=Yes
它设置为Yes,这样安装程序就会知道这次的安装会发布其他程序
而预先把相应的安装文件复制到系统盘中。
无界面自动安装程序模式的扩展命令需要你阅读大量的帖子收集。
有2个例子比较特别的:
Q832483.EXE /C:"dahotfix.exe /q /n" /q:a
wmp9.exe /Q:A /R:N /C:"setup_wm.exe /Q:A /R:N /NoMigrate /DisallowSystemRestore" (关闭系统还原,不会报错!)
在这里,可将我们收集整理的需要集成安装的文件整理归类
需要安装后重新启动或有些必须重新启动才能继续安装的程序归一类
不需要重新启动就可以安装的另归一类,分别采用上面的安装方式来安装!
QUOTE:
xpinstall安装
这是一种老外发明的安装系统补丁的方式,它是在系统安装剩余9分钟时执行的
通过读取XPINSTALL.XML来调用的。它在执行时会弹出一个提示框
正在执行的安装会以高亮显示。
目录规则:
$oem$\
$oem$\$1
$oem$\$1\INSTALL
$oem$\$1\INSTALL\XPINSTALL.EXE
$oem$\$1\INSTALL\XPINSTALL.XML
$oem$\$1\INSTALL\IMAGES
$oem$\$1\INSTALL\DirectX\
$oem$\$1\INSTALL\HOTFIXES\
其中XPINSTALL.EXE和XPINSTALL.XML是它的执行文件和脚本文件
IMAGES目录中放的是它的外观图片
HOTFIXES目录放的是系统补丁
接下来要说明的是XPINSTALL.XML了!
XPINSTALL.XML
Windows Update Standalone
以上是关于外观位置及图片的设置
<title>Windows XP 安装设置中心 ;
外观的标题
Complete Copying #1# (#2#/#3# - #4#) Moving #1# (#2#/#3# - #4#) Deleting #1# (#3#)
'#SYSTEMDRIVE#\INSTALL\DX90B\dxsetup.exe' arguments='/opk' />
'#SYSTEMDRIVE#\INSTALL\WMP9.exe' arguments='/Q:A /R:N' />
'#SYSTEMDRIVE#\INSTALL\Hotfixes\hu1002.exe' arguments='/Q:A /R:N' />
'#SYSTEMDRIVE#\INSTALL\Hotfixes\KB820291.exe' arguments='/Q /O /N /Z' />
'regedit' arguments='/s
"#SYSTEMDRIVE#\INSTALL\RegTweaks.reg"' />
说明:
其中command='execute'是指命令的形式,
'Applying tweaks...'是显示的信息,
program='#SYSTEMDRIVE#\INSTALL\Hotfixes\KB822603.exe'是路径,
arguments='/Q /O /N /Z'是安装的参数!
另外,想让它在剩余9分钟时运行,就必须在自动应答文件winnt.sif中加入以下字段:
[SetupParams]
UserExecute="%SystemDrive%\Install\XPinstall.exe"
以上方式也需要把文件拷贝到系统目录中去,如果想让它直接调用光盘上的文件
免去拷贝的麻烦,可以这样
来修改:
目录规则:
$oem$\
$oem$\CMDLines.txt
$oem$\INSTALL
$oem$\INSTALL\XPINSTALL.EXE
$oem$\INSTALL\XPINSTALL.XML
$oem$\INSTALL\IMAGES
$oem$\INSTALL\DirectX\
$oem$\INSTALL\HOTFIXES\
CMDLines.txt的内容如下:
[Commands]
".\INSTALL\XPinstall.exe"
同时需要把XPINSTALL.XML中的
program='#SYSTEMDRIVE#\INSTALL\(文件路径)
改为:
program='#XPINSTALL#\
如:
program='#SYSTEMDRIVE#\INSTALL\DirectX\dxsetup.exe'应改为
program='#XPINSTALL#\DirectX\dxsetup.exe'
再把应答文件winnt.sif中上面添加的字段去掉!
QUOTE:
svcpack集成安装
这是微软官方介绍的一种比较接近于XP1和XP4集成补丁的方式!
它将会在系统安装剩余13分钟执行!无界面的静默安装方式!
注意:
如果您使用此过程集成更新,则系统会在“添加或删除程序”控制面板中为每个更新添加一个条目。但是,没有“删除”按钮可供使用,原因是如果删除更新,则更新的文件没有以前的版本可供还原。
具体方法如下:
首先,你需要在I386文件夹下创建一个名为svcpack 的文件夹
然后把你下载回来的所有补丁程序复制到这个文件夹中
(如C:\XPCD\i386\svcpack\)
所有的补丁程序都需要重命名为8.3格式(长度不能超过8个字母)
举例来说,名为Q819696_WXP_SP2_x86_ENU.exe和
WindowsXP-KB824146-x86-ENU.exe的补丁可以重名为 Q819696.exe和
Q824146.exe,
同时该文件夹下也可以有其它的文件夹!(如C:\XPCD\i386\svcpack\DirectX\)
复制并粘贴以下的文字,把它保存在i386文件夹中
并命名为svcpack.inf:
[Version]
Signature="$Windows NT$"
MajorVersion=5
MinorVersion=1
BuildNumber=2600
[SetupData]
CatalogSubDir="I386\svcpack"
[SetupHotfixesToRun]
DirectX\dxsetup.exe /opk
Q323255.EXE /Q /U /N /Z
Q330994.EXE /Q:A /R:N
QCHAIN.EXE
其具体形式为:
[SetupHotfixesToRun]
KB文章编号.exe /选项
别忘了把QCHAIN.exe 放在你的svcpack文件夹中。
这个程序可以在有两个补丁程序同时修补同一个文件的时候
确保修改的系统文件能保持为最高版本号的版本。
在svcpack.inf文件中关于补丁程序安装的最后一行添加执行QCHAIN.exe的命令。
最后,打开I386文件夹下的DOSNET.inf 文件,然后添加如下命令:
[OptionalSrcDirs]
svcpack
如果你发现的是DOSNET.in_,我想你多看看我的帖子应该知道方法的
还有一个XpLode的集成方法,见分支
分支:XPlode集成软件和补丁的方法
有人问了,这么多软件,参数都是什么意思啊?搞的头大啊!
蓝天已经给各位准备好了详细的说明,请看分支
分支:常用软件的静默安装参数介绍
QUOTE:
除上之外,不得不提的是,集成补丁现在比较流行Nlite集成的方式
关于Nlite集成补丁包的方式,我将在以后Nlite这个软件的应用中详细介绍
Nlite集成的方式是直接把补丁压进i386目录为安装文件,这样省了不是时间和空间
比自己搞svcpack容易的多
我喝口水先,稍等
[box=5F9F9F]第七章 winxp各界面的修改[/box]
QUOTE:
winxp安装界面的修改
碧海蓝天先说在前面:这个功能没有任何用处
不过很多的网友都对这个问题很感兴趣,毕竟这章介绍的内容最能体现自己的个性
非常的有成就感!
在安装XP系统的时候,一般的机器至少有40分钟,这个界面的话,老盖头
一直提供的比较单调的界面,修改一下,看上去会比较爽一些
这里就要用到ResHacker这个工具
分支:ResHacker详细介绍
XP的安装界面体现是在安装盘的i386文件夹里的winntbbu.dl_文件中的,从光盘里查找到这个文件,把它复制出来,然后用WINRAR把它解压,会得到一个winntbbu.dll文件,用RH打开这个文件:
为了保证安装界面的统一和协调,所以里面大多图片需要替换,我就简单的说一下修改101里面的图片
打开101,出现上图我们先把它从里面复制出来,用系统的画图工具,保存为默认的格式,BMP,24BIT的,在保存之前,请注意要把画图里的白色底改得小些,这样可以保证复制进来的图片,到时候不会有白边,保存如下图:
然后自己用PHOTOSHOP处理它,你想改成什么都可以,改成你自己的姓名也无所畏,但最后保存出来的图片,一定要是这样的:
注意了,上图是在XP中显示出来的,DPI是96,而此图在PHOTOSHOP里打开是72的,如果你的不是,也就表示这张图片处理失败了。每张图片的大小都要是对应的,不能大了或是小了,这里就不在多说明了,自己研究一下吧。下面讲一下如何替换掉里面的图片,如下图:
首先,我们删除掉1033(英文)资源,然后替换掉2052(中文)资源,如下图:
然后点击替换,这样就成功了,如下图:
2052替换完了以后,我们在添加一个新资源,还是用刚才的那张图片,资源名称为101,资源语言为1033,然后点击添加资源,如下图:
这样就完成了一个修改了,同样的道理,如100,103,153以及其它的里面用同样的方法修改。
同样,开机界面,以及登陆界面都是可以用这种方法去修改的,
开机画面要修改的文件为:ntoskrnl.ex_
登陆界面要修改的文件是:logonui.ex_
现在要说的是如何把这个修改过的DLL文件制成原来的DL_文件,方法如下:
把修改好的winntbbu.dll放在盘根目录下(X:),进入winXP的命令行,光标退到X盘的根目录下,通过makecab命令:“makecab winntbbu.dll winntbbu.dl_” 即可在X盘生成一个winntbbu.dl_文件了,然后用这个文件替换掉,原盘里的i386里的文件就可以了
QUOTE:
windows 开机画面的修改
找到ntoskrnl.exe文件,通常位于c:\windows\system32目录中。
复制两份,一份作为备份,一份用来编辑。
用RegHacker打开用来编辑的ntoskrnl.exe文件,找到第一项:Bitmap\1\2052,然后选择菜单保存为1.bmp。用同样方法把第8(Bitmap\8\1033)和第10(Bitmap\10\1033)分别保存为8.bmp和10.bmp。
用Photoshop打开1.bmp文件,这时候图片是全黑的。接着按图像-->模式-->颜色表,载入16.act文件,OK,现在应该可以看到图像了。
分别编辑完毕以后,再按图像-->模式-->颜色表,载入win.pal
这时候图片应该再次变黑,保存。
对应的图像应该是:1,8,10。
图像1
图像8
图像10
6、分别编辑完毕以后,再按Shift+O,载入刚才下载的另外一个pal文件:win.pal(photoshop同理),这时候图片应该再次变黑,保存。
7、在RegHacker中用编辑好的1.bmp,8.bmp和10.bmp文件分别替换ntoskrnl.exe中的相应文件。打开ResHacker“操作”菜单,找到“替换位图”,在“打开新位图文件”找到刚才编辑好保存的1.bmp文件,选择“打开”-->“替换”,最后保存ntoskrnl.exe文件。
如果要修改安装文件就必须修改i386文件夹里的sp2.cab文件
1.用WINRAR解压sp2.cab、修改里面的ntkrnlmp.exe、ntkrnlpa.exe、ntkrpamp.exe、ntoskrnl.exe、这几个文件的修改方法跟上面的是一样的、修改要一致、
2.跟着把解压出来的所有文件(一共有335个文件、包括修改过的四个文件)用系统自带的IExpress 2.0(如果看不懂E文、这里有个汉化过的IExpress 2.0)压缩回sp2.cab、
3.把刚才修改过的sp2.cab替换i386文件夹里的sp2.cab、
4.下载:ModifyPE 0.81、解压全部文件出来、
把刚才修改过的ntoskrnl.exe、ntkrnlmp.exe和ModifyPE.exe放在同一个文件夹中,打开命令行窗口,进入到包含了这三个文件的文件夹,然后运行:
modifyPE.exe ntoskrnl.exe -c
接着运行...
makecab ntoskrnl.exe
经过这样处理后,你就获得了一个压缩过的ntoskrnl.ex_文件(这也是makecab这条命令的目的)。接下来需要你做的就是复制ntoskrnl.ex_到你的i386目录,并覆盖已有文件。
(ntkrnlmp.exe跟ntoskrnl.exe同样操作一次就行了)
因为我们使用modifyPE软件处理了ntoskrnl.exe文件,这样做会更改该文件的CRC信息,而Windows XP安装程序也就不会忽略复制该文件了,同时安装程序会直接使用该文件,而不进行任何询问。
然而,当Windows安装程序运行完毕后,该事件会被记录在setuperr.log日志文件中,这样就可以看出该文件是没有经过微软数字签名的。dllcache目录和光盘上没有微软原版的ntoskrnl.exe文件,不过并不用担心,这样系统就不会把修改过的该文件替换为微软的原始版本了
[box=5F9F9F]第八章 Txtsetup.sif[/box]
制作自己的安装光盘,这个文件就必须仔细研究一下,有用的地方不少
txtsetup.sif是制作安装光盘中极为重要的一个文件
里面记录了安装文件所在位置以及安装时文件拷贝的目标文件夹
txtsetup.sif的实际作用其实就是把指定的文件按要求拷贝到预设好的位置上
最可能用到的是以下几段:
QUOTE:
[SourceDisksNames.x86]——用代码表示源文件的位置
[WinntDirectories]——用代码表示文件拷贝的目标文件夹
其根目录为%WinDir%,即安装指定的Windows文件夹
[SourceDisksFiles]——根据前面设定的代码表示文件拷贝的具体细节
下面3段为集成SATA、SCSI等驱动时所用
这个问题我在签名的集成SATA驱动的分支里面已经简单介绍了
[HardwareIdsDatabase]——硬件标识
[SCSI.Load]——SCSI驱动加载
[SCSI]——SCSI设备说明
[HiveInfs.Fresh] ——全新安装时根据指定的inf文件中的字段添加注册表信息
[HiveInfs.Upgrade]——升级安装时根据指定的inf文件中的字段添加注册表信息
Txtsetup.sif 是一个安装信息文件 (sif), 主要用于 Windows 的文本安装模式
(就如其名). 而且, 它还可能会被其它的一些东西使用, 例如:
Windows PE 启动时也会用到它
(Windows PE 用到了文本安装模式的末尾和 GUI 安装模式的开始部分).
文本模式完成后, 这个文件就没什么用了; 它不会被复制到indows 安装文件中
(GUI 安装模式用到的安装文件). 因为 Windows 不会用到它,
所以, 像是系统文件保护 (SFC) 这样的功能就不会影响到它. 它也没有数字签名,
因此你可以随意修改它而不会出现问题.
你可以利用 txtsetup.sif 向你的安装文件中添加第三方驱动,
修改安装Windows 的最小系统需求
添加或删除注册表预设
以及更多
QUOTE:
利用 Txtsetup.sif 添加或删除文件
若想把 txtsetup.sif 中的某行移除掉, 那么应该在此行前添加一个分号(;)
或是把这行整个的删掉.通常, 把 txtsetup.sif 中的某行删掉之后, 那么还需要把 dosnet.inf 中的对应行删掉. 如果你想添加一行, 那就比较复杂了.
下面是txtsetup.sif 的某个示例行:
QUOTE:
locsecw.chm = 1,,,,,,,21,0,0,localsec.chm
locsecw.chm 是 Windows 安装文件中的某个文件.
1 代表着它是个初始 (RTM) XP 文件.
通常你会看到 1 或 100
1 的定义来自于[SourceDisksNames.x86].
表示源文件为原版本且在光盘上i386文件夹
100表示源文件为SP补丁中较新版本的文件
1 表示它是未打补丁的初始文件, 100 代表它是个SPx 文件 (SP1, SP2..SPx).
21 代表着它的复制目的地, 其相对于 %windir% 文件夹.
在这里, 21 是让安装程序把 locsecw.chm 复制到 %windir%help.
具体哪些值代表哪些目录可以在[WinntDirectories] 中找到.
一般情况下, [WinntDirectories] 中定义的目录都是相对于%windir% 文件夹的子目录, 这就意味着你把文件添加到txtsetup.sif 中, 那么它就会被复制到 %windir% 文件夹中 (可能在其子文件夹中).
第一个0为升级代码位,含义为:(升级时)
0-总拷贝文件
1-安装文件夹中有该文件才拷贝
2-安装文件夹中有该文件时不拷贝;
3-不拷贝文件
第二个0为新安装代码位,含义同上(全新安装时)
另外据说此代码若不为0,其前面需多加2个逗号
defrag.chm表示将目标文件改名为此
因此,这一行表明,不管是升级还是全新安装
都将源文件defragP.chm拷贝到%WinDir%\help文件夹下并改名为defrag.chm
就如你在示例中所看到的一样, 可以在行的末尾重命名要复制的文件.
Microsoft 用它来区分 Windows XP Home 和 Pro 版.
Home 的文件带有P, Pro 的文件带有 W.
W 可能是代表着工作站 (WorkStation) 的意思.
P 可能是代表着个人版 (Personal) 的意思,
Windows XP Home 最初就叫做 Whistler Personal.
QUOTE:
示例:
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 支持长文件名.
现在来看看另一行:
QUOTE:
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 并没有告诉安装程序应当从哪里获取安装文件.
它唯一的功能就是把按照正确的文件名把文件复制到正确的目录中.
举例说明:
比如说, 你想把 tweakui 集成到 Windows 安装文件中, 但是你不想使用无人值守的方式. 那么利用 txtsetup.sif 可以很轻松地做到这点.
第一步: 下载 Tweak UI
在这里下载 TweakUI. 下载之后, 用 WinRAR 把 tweakui.exe 提取出来, 或是先安装这个程序再把windows\system32 中的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 中进行定义).
QUOTE:
利用 Txtsetup.sif和xpinstall集成安装打补丁
将补丁以及xpinstall等相关文件准备好
放在同一文件夹下,并配置好xpinstall.xml,用xpinstall来安装补丁比较美观
用WinRAR将这些文件做成自解压压缩文件xp_patch.exe,并在自解压选项的模式中指定解包到临时文件夹和全部隐藏(这样就神不知鬼不觉了),以及指定xpinstall为解压后运行的程序
用makecab压缩该文件,并把文件拷贝到i386文件夹中
在[SourceDisksFiles]中添加
xp_patch.exe = 1,,,,,,,1,0,0
在winnt.sif中的[GuiRunOnce]添加
Command0="%WinDir%\xp_patch.exe"
从硬盘安装时, 安装程序会先利用 dosnet.inf 中的定义把文件复制到C:$WIN_NT$.~LS 中. 然后,安装程序才会利用 Txtsetup.sif 把这个文件夹中的文件复制到对应的文件夹中. 因为只能利用 txtsetup.sif 把文件复制到 %windir% 文件夹下, 所以它的用途有限.
主要是用它来添加注册表预设和驱动
QUOTE:
用 txtsetup.sif 来添加自定义的注册表条目
每次文本安装模式即将结束时, 安装程序就会利用txtsetup.sif 中的某些定义来创建注册表(文件复制结束时). 如果是全新安装的话, 安装程序就会按照 txtsetup.sif 的 [HiveInfs.Fresh] 区段中的定义来生成注册表. 你可以使用这个区段来添加你自己的注册表条目.
如果你已经把你的注册表设置保存为一个 .reg 文件的话,
那么你需要用.inf 文件导入这些设置.
将你的 .reg 文件重命名为 settings.reg 并将其置入i386 文件夹中.
将以下内容复制到一个新文件中并另存为settings.inf,然后将其保存到 i386 文件夹中.
CODE:
[Version]
Signature = "$Windows NT$"
DriverVer=07/01/2001,5.1.2600.1106
[update]
HKLM,"Software\Microsoft\Windows\CurrentVersion\RunOnce",
"MyUpdate",0x00020002,"%systemroot%\regedit.exe /s %systemroot%\system32\settings.reg"
[Copy to clipboard]
添加 inf 条目
如果你已经有了一个 .inf 文件, 那么将其复制到 i386 文件夹中并将其重命名为settings.inf. 并确保这个 .inf 文件中有个名为 [update] 区段
只有这个区段下的设置会被使用!
你可以用 makecab.exe 把 settings.inf 压缩成 settings.in_, 但这只是可选的.
添加方法
QUOTE:
打开 txtsetup.sif 并转到 [HiveInfs.Fresh], 按以下添加一行.
[HiveInfs.Fresh]
AddReg = hivedef.inf,AddReg
AddReg = hivesys.inf,AddReg
AddReg = hivesft.inf,AddReg
AddReg = hivecls.inf,AddReg
AddReg = hiveusd.inf,AddReg
AddReg = dmreg.inf,DM.AddReg
AddReg = settings.inf,update
再把以下 2 行添加到 txtsetup.sif 的 [SourceDisksFiles] 区段下.
如果你要使用一个 .reg 文件, 那么就要添加第二行, 不需要的只需添加第一行.
settings.inf =1,,,,,,_x,3,,3
settings.reg =100,,,,,,,2,0,0
把以下 2 行添加到dosnet.inf 的 [Files] 区段下. 如果你要使用一个 .reg 文件,
那么就要添加第二行, 不需要的只需添加第一行.
d1,settings.inf
d1,settings.reg
现在开始安装 XP, 当文本安装模式结束时就会导入你的注册表设置了.
你不需要使用无人值守安装方式.
疑难解答
文本模式安装程序所用的解释引擎不同于 SetupAPI.
因此, 处理相关的 inf 文件时要小心点以免设置无效.
当你编辑用于文本安装模式下用的 inf 文件时, 应当遵循以下方针:
QUOTE:
1 - 避免 strings. 就是那些在 [strings] 下定义的字符串. 我听说在文本安装模式下无法使用字符串.
2 – 总是使用引号. 请你尽可能地用引号括住你的设置.
3 – 避免缩写. 在一般的 inf 中你可以使用 0x1 或 0x1002. 而在文本安装模式下, 以上值不起作用.
4 - 避免不必要的空格. 这个可能不是强制性的, 但是我觉得你最好这么做.
5 - 无法确定能用文本安装模式 .inf 做什么事情? 那么请参考 hivesys.inf, hivesft.inf.
以下是 5 个不同的 .inf 设置. 粗体的那个是正确的, 而其它的则无法工作且文本模式安装程序会报错.
1 - HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB826939","Installed",0x00010001,1
2 - HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB826939,"Installed",0x00010001,1
3 - HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB826939","Installed",0x10001,1
4 - HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB826939","Installed"",0x00010001,1
5 - HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB826939",Installed,0x00010001,1
1 –此行没有任何错误. 注意第二段和第三段都用引号括住了.你必须用引号将其括住!
2 –此行无法工作, 因为第二段没用引号括住.
3 - 此行无法工作, 因为 0x00010001 被搞成了0x10001.
在正常情况下没有问题, 但是在文本安装模式下,
安装程序就无法理解它的含义了. 有所怀疑的话, 请不要使用任何缩写.
4 - 此行无法工作, 因为 Installed 后有两个引号.
5 - 此行无法工作, 因为 Installed 没有被引号括住! |
|