安装系统时,t39(倒数39分钟)是在WINNT.SIF文件的[GuiUnattended]段的DetachedProgram 设置项实现的,如:DetachedProgram = \"%SystemDrive%\\TEMP\\DRIVERS.EXE\"
但是39分钟执行的程序是同步执行的,也就是说你执行的时候系统安装进程还在前进,这样是不行的,等你解压完驱动就晚了,所以我们需要下载下面几个文件: NirCmd.exe 一种增强的DOS命令行工具
Process.exe 一种很强的进程管理程序,其中一个功能就是暂停某进程执行(相信知道在这里的用处了吧)
WatchDriverSigningPolicy.exe 关闭微软安装未通过验证的驱动时的提示
SetupCopyOEMInf.exe 扫描指定的驱动目录,并处理所有的.inf文件(复制指定的.inf文件到%windir%\\Inf中),这样,Windows在检查硬件设备后将会找到所有的即插即用硬件的 驱动程序。
这几个有了以后就用一个批处理编写一段命令,过程就是先停止XP安装进程setup.exe,然后执行驱动选择、解压驱动,完毕后继续setup.exe安装进程就行了。
下面是我写的au3脚本:
Driver.exe是驱动选择工具,这段代码编译后的程序和驱动选择放在一个文件夹下就行了。
如果调用ylmf的驱动,还在在批处理或者au3代码里增加几行,下面是我的完整的调用ylmf驱动的au3代码:
#NoTrayIcon
$file = FileOpen(@HomeDrive & \"\\Ticker.ncl\
FileWriteLine ( $file, \"exec hide \" & @ScriptDir & \"\\Process.exe -r setup.exe\")
FileWriteLine ( $file, \".wait 10000 \") FileWriteLine (
$file, \"exec hide \" & @ScriptDir & \"\\Process.exe -p SetupCopyOEMInf.exe high\")
FileWriteLine ( $file, \"exec hide \" & @ScriptDir & \"\\Process.exe -s setup.exe\")
FileWriteLine ( $file, \".wait 50000 \")
FileWriteLine ( $file, \".script \" & @HomeDrive & \"\\Ticker.ncl\")
FileClose($file)
runwait(@ScriptDir & \"\\Process.exe -s setup.exe\
runwait(@ScriptDir & \"\\Process.exe -p setup.exe low\ run(@ScriptDir &
\"\\WatchDriverSigningPolicy.exe\
$file = FileOpen(@SystemDir
& \"\\oeminfo.ini\
FileWriteLine ( $file,\"Manufacturer=YLMF GHOSTXP_SP2\") FileClose($file)
runwait(@ScriptDir & \"\\Driver.exe\")
run(@ScriptDir & \"\\NirCmd.exe script \" & @HomeDrive & \"\\Ticker.ncl\")
runwait(@ScriptDir & \"\\SetupCopyOEMInf.exe C:\\Driver\
runwait(@ScriptDir & \"\\Process.exe -k
NirCmd.exe\
runwait(@ScriptDir & \"\\Process.exe -p setup.exe normal\
runwait(@ScriptDir & \"\\Process.exe -r setup.exe\
FileDelete(@HomeDrive & \"\\Ticker.ncl\")
FileDelete(@SystemDir & \"\\oeminfo.ini\")
因篇幅问题不能全部显示,请点此查看更多更全内容