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