usb驱动自动安装讨论

msdn001 2004-09-08 10:55:59
我有一个别人提供的usb设备的inf文件,目的是自己写程序让inf文件自动安装,用户插入usb设备后可以直接使用。
我所知道的方法都不能满足要求:
1、用SetupCopyOEMInf拷贝inf文件,插入设备后系统弹出“找到新的设备向导”对话框,选择自动安装时可以正常安装使用。我的目的是不要再弹出这个对话框,在没有插入设备前安装,第一次插入设备时就象已经安装了驱动时一样。
2、用UpdateDriverForPlugAndPlayDevices需要插入设备才能够安装驱动。我想在设备插入前就可以安装驱动。

那位大侠有好的方法请告知
...全文
1132 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinesesword 2005-08-01
  • 打赏
  • 举报
回复
mark
jtg98g3 2005-08-01
  • 打赏
  • 举报
回复
up!
bluedreammer 2005-07-26
  • 打赏
  • 举报
回复
a
shadowWind 2005-07-22
  • 打赏
  • 举报
回复
mark
hxy2003 2004-10-25
  • 打赏
  • 举报
回复
UP
奔跑的北极熊 2004-10-19
  • 打赏
  • 举报
回复
我想应该先生成一个GUID,这个GUID值就是inf中的那个GUID值。将它添到注册表,建立一个新类。然后就可以安装了,不用将sys拷贝到系统目录下。
将GUID建立到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class下面,但一定要起个类名。
奔跑的北极熊 2004-10-19
  • 打赏
  • 举报
回复
我想应该先生成一个GUID,这个GUID值就是inf中的那个GUID值。将它添到注册表,建立一个新类。然后就可以安装了,不用将sys拷贝到系统目录下。
stonesky 2004-10-18
  • 打赏
  • 举报
回复
UP
talkxyj 2004-10-10
  • 打赏
  • 举报
回复
win2000以上可以用UpdateDriverForPlugAndPlayDevices
ppcust 2004-10-09
  • 打赏
  • 举报
回复
不错的。。。。
支持一下
icecily 2004-10-09
  • 打赏
  • 举报
回复
我是刚接触,所以是菜鸟级别,各位高手要是觉得太菜,也请不要砸我,我要做的自动安装驱动,目的在于不让用户去点击下一步,而在U盘插入的时候就可以自动找到驱动然后自动安装好,U盘就可以出现盘符并使用。接手的时候以前的同事用的是通用驱动,可以驱动很多设备。就是安装时需要搜索。经过查一些文章和吸取各位大大的经验,我重新写了INF文件,将原有的INF中通用性去掉了,并做了一个小程序,在安装时运行。这里对我自己做的这个总结一下:
1。我的安装程序是用一个做安装程序的软件做的,没自己写,呵呵,拣个便宜,这个安装程序的功用就是拷贝INF文件到C:WINDOWSINF目录下,拷贝SYS文件到c:windowssystem32drivers目录下。
2。inf文件中,我觉得要实现自动安装的话有两个地方必须写正确,一是class和classGUID,二是设备的vid和pid。classGUID是个唯一类标识,和vidpid都会在系统中注册的。举例来说,必须写好%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盘就能使用了。这个小程序的运行是用做安装包的软件加在安装包里的,安装包运行的时候可以同时运行。小程序还实现了一些针对我们的产品要用的功能,这里就不提了。
以上是我做的自动安装的方法,我想这里有很多高手都是自己写安装程序的,呵呵,希望大家不要丢鸡蛋过来。

sun4216 2004-09-14
  • 打赏
  • 举报
回复
我以前也想这么做的,后来看到微软的一篇文档,才知道他们是强烈反对这么做的。WINDOWS安装新硬件(WDM设备)是通过查询PID和VID来查找INF文件,并确定INF文件的PID和VID是否和硬件的实际PID、VID符合,如果不符合就会拒绝安装(当然虚拟驱动除外,因为不需要硬件)。WINDOWS不可能安装一个不存在或者有问题的驱动程序,因为那样会将系统变得不稳定!
icecily 2004-09-10
  • 打赏
  • 举报
回复
这个方法不行
lzgeye 2004-09-10
  • 打赏
  • 举报
回复
ddk中有一个例子
在 src\general\setup\install

ningxin 2004-09-09
  • 打赏
  • 举报
回复
先找一台机器,安装好驱动。拷贝相应的sys文件和inf文件。安装的时候直接拷贝到相应机器的指定目录。
Areslee 2004-09-09
  • 打赏
  • 举报
回复
看看SETUPAPI
101monster 2004-09-09
  • 打赏
  • 举报
回复
呵呵,UP!

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧