Richie - xjl20008的BLOG http://xjl20008.52rd.net - 复制 - 收藏
Richie 发表于 2007-6-4 16:04:00

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\\\\".
------------------------------------------------------------------------------------------------------
你先在COMMAND DOS命令环境下用打命令方式调试成功后再写程序吧。这样容易排除错误,要注意driver的目录和空格。你还可以去查看rundll32.exe的用法。

调试命令请参考:

rundll32.exe setupapi.dll,InstallHinfSection Modem2.NT 132 C:\\YourDriver\\netsf.inf


阅读全文(5812) | 评论(4)
评 论
4楼 ilvan 发表于 2009-10-12 11:49:00
在一个使用SETUP API自动安装驱动后,为什么插其他USB却不能使用 高手 帮帮忙!
3楼 52RD网友(游客) 发表于 2008-8-28 13:56:00
楼主你好 多亏你的文章,我找到一些头绪。 我按照你的方法,安装了我自己的驱动,安装成功了,但是在设备管理器中没有看到我的驱动。 如果我采用“安装硬件”就可以在里面看到我的驱动了。 请问这是什么原因呢? 多谢你在百忙之中给我答复,谢谢。祝身体健康,事业发达 我的EMAIL:yushui_213@163.com
2楼 xjl20008 发表于 2007-11-21 14:10:00
请见http://www.52rd.com/Blog/Detail_RD.Blog_xjl20008_8604.html
1楼 Semor(游客) 发表于 2007-11-5 10:30:00
你好,我想问一下,那个inf文件中的安装节应该怎么判断是哪一个呢? 我的inf文件是从C:\windows\inf下面拷贝出来的,不知道这样行不行?希望您能够回答,我的联系方式: semor.yang@gmail.com http://semor.awardspace.com 再次感谢!
9 1 :
昵 称: 匿名
验证码: 3643
博 主
进入xjl20008的首页
博客名称:Richie
日志总数:11
评论数量:12
访问次数:39027
建立时间:2007年4月25日
导 航
日 历
«Mar.2010»
123456
78910111213
14151617181920
21222324252627
28293031
公 告
暂无公告...
日 志
评 论
链 接