http://blog.csdn.net/u012814201/article/details/44919125

工作的原因打算通过devcon.exe实现自动打包的功能,由于之前一直在Linux那个神奇的世界里遨游,初到Windows这个世界真是茫然失措,
开始之前公司一哥们告诉我想实现什么功能,大概了解一下后就开始了,无奈菜鸟一枚就找度娘解决吧,遨游了两天找各种资料去了解相关
的概念,可算知道一点了,好了,到重点了:

由于提供了相应的.inf和.sys文件,在Windows自带的设备管理器中可以正常安装,但!!!在devcon中却安装出来了两个驱动文件,
属于菜鸟的我就在网上一顿神找啊,找到的结果就是安装命令  devcon -r install D:dbg\PKU_umal.inf   "PCI\VEN_100B&DEV_FF2F"
D:dbg\PKU_umal.inf 是我的目录下文件, "PCI\VEN_100B&DEV_FF2F"设备ID
用这种方法安装出来会出现两个驱动,一个好使,一个带黄色感叹号;怎么update也不好使。郁闷啊!!!又自学了.inf的原理,一步步
跟下来也没有错误,想是不是国产平台不行?最后验证是可以的。用这种方法安装后只能重启后再安(我的有C盘保护,要不我得哭),
不重启只会出现一个带黄色感叹号的驱动。
 网上找了好多资料也解决不了,终于在今天早上,看了圣经中的一句话,“你若能信,在信的人,凡是都能”,中午没有午休就找出原因了,
根据源码慢慢分析发现,在执行devcon -r D:dbg\PKU_umal.inf   "PCI\VEN_100B&DEV_FF2F"命令时,是分两步进行的,第一步执行cmdinstall()
函数进行安装,在cmdinstall()函数中结尾处又调用了cmdupdate()函数,这个是重点!!!!!cmdupdate()函数会再次安装设备驱动,这就
导致出现了两个设备驱动的现象,并且还有一个是带黄色感叹号的,原来原因就是出现在了cmdupdate()函数中;cmdupdate()函数是由update
命令进行调用的,但只是解决了一半,怎么做???不知道。不知道怎么来了灵感自己组合修改命令,终于试出来啦!

///////////////////////////////////////////////////////////////////////////
 devcon -r rescan D:dbg\PKU_umal.inf   "PCI\VEN_100B&DEV_FF2F"
 devcon -r update D:dbg\PKU_umal.inf   "PCI\VEN_100B&DEV_FF2F"
///////////////////////////////////////////////////////////////////////////

devcon -r rescan D:dbg\PKU_umal.inf   "PCI\VEN_100B&DEV_FF2F"会扫描与ID号相关的设备驱动,即使把网络控制器删除也能更新出来
就是这么牛!这个功能相当于设备管理器发现新硬件的功能。

devcon -r update D:dbg\PKU_umal.inf   "PCI\VEN_100B&DEV_FF2F"
这句命令折磨了我好久,更新就刷新一下呗!这么理解就错了,其实主要实现的是具有安装功能的刷新!
到此为止我的自动驱动安装还没出现BUG!

总结一下,有能力还是多看源码,英文手册,真的很有用。
“你若能信,在信的人,凡是都能”

最新文章

  1. MongoDB数据实体中的ObjectId序列化成json的一个小坑
  2. Tomasulo's Algorithm
  3. [Leetcode] Word BreakII
  4. tomcat普通用户运行
  5. Windows安装Python图像处理库:PIL模块
  6. Linux下基于HTTP协议带用户认证的GIT开发环境设置
  7. Colored Sticks
  8. js练习【DOM操作】
  9. IOS — 关于Socket传输文件需要自定义延时或者包大小的情况
  10. 写一个MyList
  11. Java Socket输入流如何检测到EOF
  12. 时间序列算法(平稳时间序列模型,AR(p),MA(q),ARMA(p,q)模型和非平稳时间序列模型,ARIMA(p,d,q)模型)的模型以及需要的概念基础学习笔记梳理
  13. day09 函数学习
  14. UVA12569-Planning mobile robot on Tree (EASY Version)(BFS+状态压缩)
  15. VS 函数,方法上方 引用等显示
  16. 数据分析工具urule
  17. 用R画韦恩图
  18. asp.net 关于Response.Redirect重定向前无法弹出alert对话框的问题
  19. CxGrid 表格列内容居中
  20. spring报错:Caused by: java.lang.IllegalStateException: Cannot convert value of type for property : no matching editors or conversion strategy found

热门文章

  1. centos 4.4配置使用
  2. Beta冲刺——day2
  3. idea不能跟随输入法问题
  4. Linux命令(十四) 查看工作目录文件 ls
  5. 解决sublime text3下中文无法输入的问题(Ubuntu)
  6. Java对中文进行排序
  7. 【Java并发编程】之十五:并发编程中实现内存可见的两种方法比较:加锁和volatile变量
  8. 【大数据】SparkSql学习笔记
  9. 安装 oracle
  10. MT【92】空间余弦定理解题