【发布时间】:2017-07-18 17:50:45
【问题描述】:
我有一个在 Windows 7、8、8.1 和 10 计算机上使用的 USB 设备。此设备(最终)在所有这些配置上都被 Windows Update 识别,并且为该设备安装了默认驱动程序。我想强制此设备使用我指定的驱动程序,该驱动程序 不是 Windows 将选择的默认驱动程序。我想以编程方式执行此操作,最好使用 Windows 原生的组件(如批处理或 PowerShell),或者足够小以将它们包含在可部署的安装包中。
我们的目标是找到一些编程方式来复制以下一组步骤调用的功能:
打开设备管理器-->右击想要更新的设备--> "更新驱动软件..." --> "浏览我的电脑以获取驱动程序软件" --> "让我从我电脑上的驱动程序列表中挑选" --> 取消选中“显示兼容硬件”复选框--> 选择制造商和型号。
据我所知,这有效地绕过了设备先前或默认应用的 *.INF 文件中指定的默认硬件 ID。
我尝试使用 devcon.exe 执行此操作(尝试“安装”和“更新”功能),发现每次都失败,无论我如何一般指定设备的硬件 ID(不允许它影响其他设备,当然)。我可以列出设备的驱动程序文件,但不能更改它们。
我也研究了 PnPUtil,但这似乎不适合将 specific 驱动程序应用到 specific 设备的应用程序。
也一直在研究 PowerShell 的文档,并且可以再次列出设备及其所有属性(包括它的驱动程序和驱动程序文件),但我还没有找到一种以编程方式强制安装驱动程序的方法 我的选择。
关于如何实现上述目标的任何想法?提前非常感谢。
【问题讨论】:
-
投反对票是怎么回事?
-
Dean,你解决了吗?你能发布解决方案吗?
标签: windows powershell batch-file winapi powershell-2.0