win2k,XP下用setupapi.dll自动安装Driver
在驱网看到54cndr 写的这篇文章,虽然自己一直都用Installshield,但还是觉得这个也是一个很好的思路,故摘录在此。
用setupapi.dll安装Driver
适用OS: win2k,winXP
InstallShiled代码:
szProgram = "rundll32.exe";
szCmdLine = "setupapi.dll,InstallHinfSection DefaultInstall 132" + SUPPORTDIR + "netsf.inf";
LaunchAppAndWait(szProgram, szCmdLine, WAIT);
注意:
1、其中DefaultInstll是指INF文件中的安装节,必须替换为自己INF中的INSTALL节名,例如节名是USBCamera.Dev,则代码要要改为:
szCmdLine = "setupapi.dll,InstallHinfSection USBCamera.Dev 132" + SUPPORTDIR + "netsf.inf";
2、SUPPORTDIR是指inf及sys等所有Driver文件所在的路径.你要先把所有Driver文件copy到硬盘,例如你的文件在C:YourDriver,
则SUPPORTDIR在程序中要替换为 "C:////YourDriver////".
适用OS: win2k,winXP
InstallShiled代码:
szProgram = "rundll32.exe";
szCmdLine = "setupapi.dll,InstallHinfSection DefaultInstall 132" + SUPPORTDIR + "netsf.inf";
LaunchAppAndWait(szProgram, szCmdLine, WAIT);
注意:
1、其中DefaultInstll是指INF文件中的安装节,必须替换为自己INF中的INSTALL节名,例如节名是USBCamera.Dev,则代码要要改为:
szCmdLine = "setupapi.dll,InstallHinfSection USBCamera.Dev 132" + SUPPORTDIR + "netsf.inf";
2、SUPPORTDIR是指inf及sys等所有Driver文件所在的路径.你要先把所有Driver文件copy到硬盘,例如你的文件在C:YourDriver,
则SUPPORTDIR在程序中要替换为 "C:////YourDriver////".
------------------------------------------------------------------------------------------------------
你先在COMMAND DOS命令环境下用打命令方式调试成功后再写程序吧。这样容易排除错误,要注意driver的目录和空格。你还可以去查看rundll32.exe的用法。
调试命令请参考:
rundll32.exe setupapi.dll,InstallHinfSection Modem2.NT 132 C://YourDriver//netsf.inf
调试命令请参考:
rundll32.exe setupapi.dll,InstallHinfSection Modem2.NT 132 C://YourDriver//netsf.inf
http://blog.csdn.net/jiangxinyu/article/details/4465445