在驱网看到54cndr写的这篇文章,虽然自己一直都用Installshield,但还是觉得这个也是一个很好的思路,故摘录在此。 用setupapi.dll安装Driver
: y6 A; v3 \7 k* u. ]" _
适用OS:win2k,win
XP
- V" y2 Y5 A: f9 M" n# k InstallShiled代码:
/ l F K: m. l$ c3 c& f szProgram="rundll32.exe";
6 r0 v+ _- v6 F F7 s szCmdLine="setupapi.dll,InstallHinfSectionDefaultInstall132"+SUPPORTDIR+"netsf.inf";
( ~. r" c& y9 @" l. z9 O
LaunchAppAndWait(szProgram,szCmdLine,WAIT);
; {) U9 W9 A* w7 f0 \$ `
注意:
: P6 A$ [1 q% w# ~7 h; e# i w 1、其中DefaultInstll是指INF文件中的安装节,必须替换为自己INF中的INSTALL节名,例如节名是
USBCamera.Dev,则代码要要改为:
. R) k$ w* a! G( [0 F szCmdLine="setupapi.dll,InstallHinfSectionUSBCamera.Dev132"+SUPPORTDIR+"netsf.inf";
5 o, i* p( V) W q
2、SUPPORTDIR是指inf及sys等所有Driver文件所在的路径.你要先把所有Driver文件copy到
硬盘,例如你的文件在C:YourDriver,
+ T* T7 H) g/ P1 Z7 J
则SUPPORTDIR在
程序中要替换为"C:\\YourDriver\\".
# ] j! R* Y6 F2 t) ?! @
------------------------------------------------------------------------------------------------------
& I9 u: P; [; j0 a, J
你先在COMMAND DOS命令
环境下用打命令方式调试成功后再写程序吧。这样容易排除错误,要注意driver的目录和空格。你还可以去查看rundll32.exe的用法。
n1 K7 a8 c% z% z) x, j) f
调试命令请参考:
; o5 n" P6 W0 F3 W9 e* `/ J2 c
rundll32.exe setupapi.dll,InstallHinfSection Modem2.NT132 C:\YourDriver\netsf.inf