使用devcon.exe实现自动安装驱动的心得总结
工作的原因打算通过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!
总结一下,有能力还是多看源码,英文手册,真的很有用。
“你若能信,在信的人,凡是都能”
相关文章
已删除的zip压缩文件如何恢复? 恢复已删除ZIP文件的多种方法
不小心删掉了一些重要的.zip/.rar文件,而且已经清空了回收站还能恢复吗?下面我们就来看看找回彻底删除zip压缩文件的技巧2024-09-30PrintMyFonts怎么使用?PrintMyFonts字体打印工具使用图文教程
PrintMyFonts是一款字体管理工具,那么PrintMyFonts怎么使用呢?本文就为带带来了PrintMyFonts字体打印工具使用图文教程,一起看看吧2024-09-29Passper for Excel怎么使用?Passper for Excel使用教程与常见问题解决
忘记Excel密码是很多人的常态,为你推荐Passper for Excel,它是款效果不错的Excel密码解除工具,提供多种解密方式,同时还提供了文档修复、无法复制工作表、无法打印工作2024-09-26- 当您想要远程连接到另一台设备时,通常会发生身份验证错误,并显示“出现身份验证错误 要求的函数不受支持”的弹出窗口,下面我们就来看看这个问题的解决办法2024-09-24
- 滴答清单怎么添加任务?有的小伙伴可能是刚开始接触滴答清单软件,所以不知道该怎么在滴答清单中创建新的任务,其实很简单,下文中为大家带来了滴答清单添加每日任务的方法2024-09-05
steam桌面游戏图标变成白色怎么办? steam游戏图标变空白解决办法
不知道是什么原因,桌面所有的游戏图标都变成白色了,那想变回正常的图标该怎么办呢?下面我们就来看看详细的解决办法2024-08-03- NirCmd是一款命令行使用小工具,通过它可以完成很多实用的任务,而不用显示任何用户界面2024-07-30
- NirCmd 是一款由 Nir Sofer 开发的免费命令行工具,它允许用户通过简单的命令行选项执行各种任务,而无需打开任何图形用户界面,这款工具的功能覆盖了从系统设置调整到文件2024-07-30
- 滴答清单如何设置提醒?滴答清单是一款便捷的任务管理应用,用户可以轻松创建任务和笔记,并设置提醒以防遗忘,在创建任务后,点击“设置提醒”,选择日期和时间,最后确认2024-06-27
- 雷电云手机如何转移设?雷电云手机支持设备间的内容同步,方便用户在不同设备上查看同步信息,若需转移设备,只需在原设备上找到转移选项,按提示操作即可,以下是具体步骤介2024-06-26
最新评论