cecily
驱动牛犊
驱动牛犊
  • 注册日期2004-08-04
  • 最后登录2013-05-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望86点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
阅读:3132回复:8

我做自动安装驱动的一个方法(提供参考,菜鸟级,不对的地方请指正)

楼主#
更多 发布于:2004-09-15 11:12
因为看到有朋友在问我这个问题,所以在这里把我自己做的情况写下来,我是刚接触,所以是菜鸟级别,各位高手要是觉得太菜,也请不要砸我,我要做的自动安装驱动,目的在于不让用户去点击下一步,而在U盘插入的时候就可以自动找到驱动然后自动安装好,U盘就可以出现盘符并使用。接手的时候以前的同事用的是通用驱动,可以驱动很多设备。就是安装时需要搜索。经过查一些文章和吸取各位大大的经验,我重新写了INF文件,将原有的INF中通用性去掉了,并做了一个小程序,在安装时运行。这里对我自己做的这个总结一下:
1。我的安装程序是用一个做安装程序的软件做的,没自己写,呵呵,拣个便宜,这个安装程序的功用就是拷贝INF文件到C:\WINDOWS\INF目录下,拷贝SYS文件到c:\windows\system32\drivers目录下。
2。inf文件中,我觉得要实现自动安装的话有两个地方必须写正确,一是class和classGUID,二是设备的vid和pid。classGUID是个唯一类标识,和vid\pid都会在系统中注册的。举例来说,必须写好%USBVID_0471&PID_0222.DeviceDesc%=D12TEST.Dev, USBVID_0471&PID_0222这句,才能自动找到设备厂商号为0471和产品号为0222的USB设备。
3。给INF文件写了驱动源文件盘符和源文件名,这一步我也不知道是不是必须,只是当时怕找不到,呵呵,还没实验是否必须。
4。INF文件写正确并做完1。后,根据斑竹提供的有关DRVDATA。BIN和DRVIDX。BIN的文章。这两个文件应该是对所有的驱动都有登记,就是驱动信息库文件。当做完1。后,如果不对驱动信息库文件进行更新,在一些情况下还是可能找不到驱动(自动),例如我做的时候,测试用了一个VID和PID为别的设备,然后将INF修改后,还是只有测试的设备可以自动安装,修改后符合INF内容的设备不能自动安装。所以我做了一个小程序,将这两个文件删除,这样插入U盘时,就会自动生成一次驱动信息库,然后自动安装好驱动了,U盘就能使用了。这个小程序的运行是用做安装包的软件加在安装包里的,安装包运行的时候可以同时运行。小程序还实现了一些针对我们的产品要用的功能,这里就不提了。
以上是我做的自动安装的方法,我想这里有很多高手都是自己写安装程序的,呵呵,希望大家不要丢鸡蛋过来。

最新喜欢:

aasa2aasa2
我不是你的天使,我不懂你的天堂
xue_minggang
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2004-09-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-09-15 11:38
我不会丢鸡蛋,我会丢鲜花。
跟你们相比我才是真正的菜鸟,我还不知道.inf文件怎么生成,我的机器上装了VC6.0+NTDDK,好像只能生成.sys文件,.inf文件怎么生成啊?
我买了一套USB SMART 开发板,提供给我的软件开发套件里有一些驱动开发套件,不知道怎么用。好混沌啊。
要是可以认识你就好了。QQ:3167473
cecily
驱动牛犊
驱动牛犊
  • 注册日期2004-08-04
  • 最后登录2013-05-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望86点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-09-15 15:12
你好,我其实也是第一次接触驱动和INF文件,以前做上层的应用,这次是涉及到这个了,客户希望能自动安装驱动(客户们总是想越简单越好,呵呵),驱动是以前同事做的,听他们说也是用的微软的一个通用驱动,没办法,我只有自己摸索,呵呵……我做的这个INF文件是直接写的,直接打开文件象写文本一样写进去的,我也没用过生成INF文件的工具,不知道该用什么,呵呵……如果你了解INF文件的内容的话(这方面的资料网上还是有一些),也可以直接编辑它。 ;)
我不是你的天使,我不懂你的天堂
xue_minggang
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2004-09-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-09-15 16:01
oh!You are so kinddddddddddddd!!
太谢谢你啦,从这个论坛我发现了女性的优点,温柔而有耐心。而那些大牛们都不会对我的菜鸟问题有任何反应。 :(对比一下,真是感动得要涕零了。
你还是给了我启发,让我清晰一点了。
helin
驱动牛犊
驱动牛犊
  • 注册日期2004-03-23
  • 最后登录2004-09-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-09-16 09:07
在NTDDK\tools目录下面有一个程序geninf.exe,还有geninf.htm帮助文件,这个工具是图形界面的,用这个就可以自动生成一个inf,不用自己写 ;)
xue_minggang
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2004-09-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-09-16 09:44
谢谢啊,这下我可以搞定inf文件了。虽然对.sys文件还摸不着头脑。
 ;),呵呵,我也比较喜欢这个表情。
cecily
驱动牛犊
驱动牛犊
  • 注册日期2004-08-04
  • 最后登录2013-05-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望86点
  • 贡献值1点
  • 好评度14点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-09-16 15:41
呵呵,也许是因为他们都去钻研难问题去啦,没多的时间来答简单问题,呵呵……没关系啊,我们菜鸟互相交流也行啊,还有这位helin哥哥人很好啊,会回答我们的问题的,呵呵…… :)
我不是你的天使,我不懂你的天堂
xue_minggang
驱动牛犊
驱动牛犊
  • 注册日期2004-09-02
  • 最后登录2004-09-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-09-17 09:04
嗯,互相交流呀,也是一种乐趣。 :)
ppphaitaoamingp
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-05-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-09-17 11:28
用DDK+VC可以做自动安装程序的,用UpdateDriverForPlugAndPlayDevices函数来实现的
这种方法当然要INF文件正确下才可已
有些简单的设备可以通过拷贝INF文件和SYS文件并在注册表中设置需要的键就可以,用VC实现也简单,但是当复杂需要协作的驱动就不是这么简单了
给点分吧,兄弟!
游客

返回顶部