|
如何在 Windows 安裝中添加 OEM 即插即用驅(qū)動程序 提問人的追問 2009-11-05 09:17
哥們,你說了這么多,我看得頭皮西昏,我要的是具體的制作過程 回答人的補充 2009-11-05 11:53
首先,倒數(shù)39分鐘是在WINNT.SIF文件的[GuiUnattended]段的DetachedProgram 設置項實現(xiàn)的,如:DetachedProgram = "%SystemDrive%\TEMP\DRIVERS.EXE"
但是39分鐘執(zhí)行的程序是同步執(zhí)行的,也就是說你執(zhí)行的時候系統(tǒng)安裝進程還在前進,這樣是不行的,等你解壓完驅(qū)動就晚了,所以我們需要下載下面幾個文件: NirCmd.exe 一種增強的DOS命令行工具 Process.exe 一種很強的進程管理程序,其中一個功能就是暫停某進程執(zhí)行(相信知道在這里的用處了吧) WatchDriverSigningPolicy.exe 關閉微軟安裝未通過驗證的驅(qū)動時的提示 SetupCopyOEMInf.exe 掃描指定的驅(qū)動目錄,并處理所有的.inf文件(復制指定的.inf文件到%windir%\Inf中),這樣,Windows在檢查硬件設備后將會找到所有的即插即用硬件的 驅(qū)動程序。 這幾個有了以后就用一個批處理編寫一段命令,過程就是先停止XP安裝進程setup.exe,然后執(zhí)行驅(qū)動選擇、解壓驅(qū)動,完畢后繼續(xù)setup.exe安裝進程就行了。 下面是我寫的au3腳本: Driver.exe是驅(qū)動選擇工具,這段代碼編譯后的程序和驅(qū)動選擇放在一個文件夾下就行了。 如果調(diào)用ylmf的驅(qū)動,還在在批處理或者au3代碼里增加幾行,下面是我的完整的調(diào)用ylmf驅(qū)動的au3代碼: 我只希望給有用的人看,我相信看了有用的人,不在乎回帖這么簡單的動作! 以下內(nèi)容需要回復才能看到 #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 > 《計算機》