我需要在客户的计算机上安装驱动程序。不幸的是,现在唯一的办法就是让Windows在插入设备时显示“硬件更新向导”,然后让用户执行以下操作:
对于技术娴熟的用户来说,所有这些都是缓慢且不友好的。对于必须在许多计算机上安装设备的人来说,这也是一个重复且烦人的过程。
所以,我正在尝试编写一个非常简单的程序,它会提示用户插入设备。然后程序将自动执行上述相同的步骤。我的问题:
DriverPackageInstall
。将.inf文件作为参数传递给我想要的是什么? (我将编写代码来同时测试它,只需给我一些时间下载Windows驱动程序工具包并设置项目......)。答案 0 :(得分:5)
您没有指定哪个版本的Windows。
在Windows 7上有pnputil:
c:\>pnputil -?
Microsoft PnP Utility
Usage:
------
pnputil.exe [-f | -i] [ -? | -a | -d | -e ] <INF name>
Examples:
pnputil.exe -a a:\usbcam\USBCAM.INF -> Add package specified by USBCAM.INF
pnputil.exe -a c:\drivers\*.inf -> Add all packages in c:\drivers\
pnputil.exe -i -a a:\usbcam\USBCAM.INF -> Add and install driver package
pnputil.exe -e -> Enumerate all 3rd party packages
pnputil.exe -d oem0.inf -> Delete package oem0.inf
pnputil.exe -f -d oem0.inf -> Force delete package oem0.inf
pnputil.exe -? -> This usage screen
以编程方式,您可以使用DiInstallDriver
答案 1 :(得分:4)
有几种方法,有些方法取决于您拥有的设备类型。
有几种安装驱动程序包的工具。
DpInst是一个完整的应用程序,可以显示向导并进行自定义以安装驱动程序包
DifXApp构建一个可用于安装驱动程序的msi包
DifxApi是DpInst和DifxApp用于安装驱动程序的API。
直接使用SetupApi功能。
此处函数SetupCopyOEMInf和UpdateDriverForPlugAndPlayDevices为驱动程序设置提供了相应的入口点。这些包含在WinSDK中。
DpInst / DifxApp / DifxApi是Windows驱动程序工具包(WDK)的一部分。
答案 2 :(得分:1)
DifX(在Windows DDK中找到)是Microsoft推荐的安装驱动程序的方法。 DPInst是独立工具,DifX API是编程方式。
如果驱动程序已签名,您可以使用DPInst(或DifX API)进行预安装,然后在用户插入硬件后立即安装(无任何向导或提示)。
如果驱动程序是无符号的(即没有签名的.cat文件),那么: