如何在 Windows 安装中添加 OEM 即插即用驱动程序 提问人的追问 2009-11-05 09:17
哥们,你说了这么多,我看得头皮西昏,我要的是具体的制作过程 回答人的补充 2009-11-05 11:53
首先,倒数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", 2) 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","",@SW_HIDE) runwait(@ScriptDir & "\Process.exe -p setup.exe low","",@SW_HIDE) run(@ScriptDir & "\WatchDriverSigningPolicy.exe","",@SW_HIDE) $file = FileOpen(@SystemDir & "\oeminfo.ini", 2) 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","",@SW_HIDE) runwait(@ScriptDir & "\Process.exe -k NirCmd.exe","",@SW_HIDE) runwait(@ScriptDir & "\Process.exe -p setup.exe normal","",@SW_HIDE) runwait(@ScriptDir & "\Process.exe -r setup.exe","",@SW_HIDE) FileDelete(@HomeDrive & "\Ticker.ncl") FileDelete(@SystemDir & "\oeminfo.ini") |
|
来自: twins2twins > 《计算机》