|
实战Windows2000自动集成安装心得
----hotdll
本集成安装2000的实例包括集成安装IE6.0SP1;DX8.1B,MP9.0(以及它们的最新补丁)以及SP4后到现在所有的HOTFIEXS。制作WINNT.SIF文件不在本文范围内。我只介绍制作WINNT.SIF文件要注意的地方和集成软件防止错误的一些技巧和经验;别的资料请参考别的文章。
首先建立$OEM$目录,下面是我的目录结构(仅供参考)
$oem$\
$oem$\CMDLines.txt
$oem$\InstDX8.bat
$oem$\INSTHFS.bat
$oem$\INSTIE6.bat
$oem$\$$\
$oem$\$$\system32\
$oem$\$1\
$oem$\$1\install
$oem$\$1\install\applications.cmd
$oem$\$1\install\Applications\
$oem$\$1\install\Hotfixes\
$oem$\$1\install\UPDATES\
$oem$\$1\install\UPDATES\directx\
$oem$\$1\install\UPDATES\IE6SP1\
制作应答文件(请不要问我,去找精华区的帖子) winnt.sif,PRO和SRV版本的要各做各的,不通用。下面说下为什么我要这么安排我的文件。其实这也是我要说的核心----合理安排winnt.sif和CMDLines.txt这两个文件包含的集成程序。其中cmdlines.txt优先权比winnt.sif高,它在执行命令的时候是在2000安装快要结束的时候也就是注册组件和保存文件之间执行;并有一次重新启动的机会。Winnt.sfi文件是在2000安装好后快要进入桌面的时候执行,执行后自己不会重新启动。
下面是我的CMDLines.txt的内容
[Commands]
"cmd /c start /min cmd /c .\INSTDX8.bat"
"cmd /c start /min cmd /c .\INSTIE6.bat"
"cmd /c start /min cmd /c .\INSTHFS.bat"
这个是正确的命令。在许多精华帖子介绍CMDlines.txt文件配置的时候都错误了,我也走了这个弯路后来参考OEM光盘才明白怎么回事。下面是我的winnt.sif和applications.cmd文件的内容。
Winnt.sif for wpro
;SetupMgrTag
[Data]
AutoPartition=0
MsDosInitiated="0"
UnattendedInstall="Yes"
[Unattended]
UnattendMode=FullUnattended
OemSkipEula=Yes
OemPreinstall=Yes
TargetPath=\WINNT
Repartition=No
[GuiUnattended]
AdminPassword=*
AutoLogon=Yes
AutoLogonCount=1
OEMSkipRegional=1
TimeZone=210
OemSkipWelcome=1
[UserData]
FullName=w00
OrgName=kexing
ComputerName=w00
[Display]
BitsPerPel=16
Xresolution=800
YResolution=600
Vrefresh=75
[LicenseFilePrintData]
AutoMode=PerServer
AutoUsers=100
[Identification]
JoinWorkgroup=WORKGROUP
[Networking]
InstallDefaultComponents=Yes
[GuiRunOnce]
%systemdrive%\install\applications.cmd
其中[GuiRunOnce]段的意思是自动执行我需要的.cmd文件。
下面是我的applications.cmd文件内容。
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 Installing kb819639...
start /wait %systemdrive%\install\Applications\KB819639.exe /Q:A /R:N
ECHO.
ECHO Installing Q822925...
start /wait %systemdrive%\install\UPDATES\IE6SP1\q822925.exe /Q:A /R:N
ECHO.
ECHO Installing Q330994...
start /wait %systemdrive%\install\UPDATES\IE6SP1\q330994.exe /Q:A /R:N
ECHO.
ECHO 删除安装过程中的临时文件...
ECHO.
RD /S /Q %systemdrive%\install
ECHO.
exit
大家仔细看清楚。我不会为这些多费唇舌。然后我们从头到尾的看下就会明白我做了两个自动应答文件,一先一后。对了;我这么做的目的就是为了防止文件冲突。仔细分析我集成的文件---其中IE6.0SP1、DX8.1B、大部分的HOTFIEXS都是需要重新启动机器才能正常工作或是必须重新启动才能让机器正常工作,IE6.0和DX都是需要改写系统核心文件和注册表甚至系统内核的程序。而HOTFIEX文件也是与系统内核高度相关。所以如果必须在系统第一次安装注册组件的时候安装它们,这样经历一次重新启动后它们基本上都正常运行。象IE补丁,DX补丁,还有MP9.0等都是不需要重新启动就可以很好运行或是必须在IE完全安装好以后才能安装的顺利。所以我把他们放在了后面。其实诀窍就是一句话---合理安排集成安装的进程。
制作好$oem$和winnt.sif文件后,将他们分别复制到安装盘根目录,与I386并行,如果你是三合一的盘,就是复制它们到wpro、wsrv、asrv下面。然后烧成光盘。最后提醒下,集成自动安装生成的ISO文件最好不要用虚拟软件测试,因为有些问题是虚拟测试造成的,但是事实上却没哪个问题。建议烧制到CD-RW上测试。
全文完。
|
|