|
发表于 2014-9-10 20:36:59
|
显示全部楼层
首先提取usb所有驱动程序, inf\sys文件等(可用驱动精灵等提取,并记录他们所在位置). 然后使用 DPInst64.exe或者DPInst32.exe程序 copy到备份驱动的文件夹内,他会自动查找inf文件并安装. 我做了个安装程序,在安装程序结束安装之前,copy必要文件到系统文件夹内,然后运行DPInst程序,下次用户插入usb设备时,就自动查找到驱动,没有认证的驱动在首次安装时会弹出警告对话框.
在使用setupfactory做好安装程序后, 在"screens"-after installing -.... 运行脚本如下:
x = System.Is64BitOS();
if x==true then
File.Copy(SessionVar.Expand("%AppFolder%\\driver64\\usbser.sys"), SessionVar.Expand("%SystemFolder%\\drivers"), true, true, false, true, nil);
File.Copy(SessionVar.Expand("%AppFolder%\\driver64\\mdmcpq.inf"), SessionVar.Expand("%SystemFolder%"), true, true, false, true, nil);
File.Copy(SessionVar.Expand("%AppFolder%\\driver64\\x64\\STTub30.sys"), SessionVar.Expand("%SystemFolder%\\drivers"), true, true, false, true, nil);
result = Shell.Execute(SessionVar.Expand("%AppFolder%\\driver64\\DPInst64.exe"), "open", "/SW", "", SW_SHOWNORMAL, false);
else
File.Copy(SessionVar.Expand("%AppFolder%\\driver32\\usbser.sys"), SessionVar.Expand("%SystemFolder%\\drivers"), true, true, false, true, nil);
File.Copy(SessionVar.Expand("%AppFolder%\\driver32\\mdmcpq.inf"), SessionVar.Expand("%SystemFolder%"), true, true, false, true, nil);
File.Copy(SessionVar.Expand("%AppFolder%\\driver64\\x86\\STTub30.sys"), SessionVar.Expand("%SystemFolder%\\drivers"), true, true, false, true, nil);
result = Shell.Execute(SessionVar.Expand("%AppFolder%\\driver32\\DPInst32.exe"), "open", "/SW", "", SW_SHOWNORMAL, false);
end
-- These actions are performed before the screen is shown.
在setup factory 9.0版本测试成功.
当然你也可以自己做个bat命令程序完成所有操作. |
|