windows - 在 Windows 7 上使用 VBScript 安装 inf 驱动程序

标签 windows installation driver inf

我正在尝试编写一个安装 USB/Ethernet adapter 的 VBS 脚本在 Windows 7 上。

我有这个设备的 .INF 文件。

我第一次尝试:

Dim WshShell, res
Set WshShell = WScript.CreateObject("WScript.Shell")
res = WshShell.Run(WshShell.ExpandEnvironmentStrings( "%SystemRoot%" ) & "\System32\InfDefaultInstall.exe "" C:\Users\Me\Driver.inf """, 1, True)

res 等于 2。

然后我搜索了另一种方法来做到这一点并且 I found :

Dim WshShell, res
Set WshShell = WScript.CreateObject("WScript.Shell")
res = WshShell.Run(WshShell.ExpandEnvironmentStrings( "%SystemRoot%" ) & "\System32\rundll32.exe SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 ""Driver.inf""", 1, True)

res 等于 0 但我有一个错误弹出窗口 Installation failed

我的代码有什么问题?作为记录,该脚本是使用管理权限启动的。

编辑

我试过在提示符下直接执行第一个命令得到:你选择的inf文件不支持这种安装方式。

提示符下的第二个命令没有任何反应。

这很奇怪,因为我可以在启动设备管理器并选择 inf 文件时“手动”安装驱动程序(带有警告:Windows 无法验证此驱动程序软件的发布者。):

Windows security: Windows can't verify the publisher of this driver software

安装驱动程序后,类安装程序属性显示 NetCfgx.dll,NetClassInstaller。可以用吗?

我也试过 devcon 但没有成功(程序返回 devcon.exe 失败)。

最佳答案

这样怎么样:

1) 如果您使用的是“Windows 7”,为什么不利用操作系统中内置的驱动程序预部署实用程序呢? W7 附带一个名为“PNPUTIL”的驱动实用程序。发出这样的命令将添加驱动程序:

PNPUTIL -a "X:\Path to Driver File\Driver.inf"

这将处理 INF 并将 CAT/SYS/INF(以及任何 DLL、EXE 等)复制到“DriverStore”文件夹中...这也是 Windows 存储所有内置驱动程序准备自动运行的地方即插即用安装。

2) 如果这不适合您,请查找“DPInst.exe”(或 64 位系统的“DPInst64.exe”)。它们作为 Windows PDK 的一部分提供(可从 Microsoft 免费获得),并将处理您放置文件的位置中的所有 INF,并尝试预先准备它们。此方法尝试将文件复制到不那么可靠的“驱动程序”、“CatRoot”和“INF”位置...它偶尔会无法将所需的 DLL 复制到“System32”文件夹等...但 99%有时(对于简单的驱动程序)它可以正常工作。如果您找不到它们,我可以安排发送给您。

自从我找到上面的选项 (1) 以来,它一直是我最好的 friend 。我使用选项 2 在我们的基本图像等上安装佳能 USB 打印机和扫描仪...所以我知道这也有效。

关于windows - 在 Windows 7 上使用 VBScript 安装 inf 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21724131/

相关文章:

python - 使用区域设置打印以色列货币

windows - 如何将重定向符号(< 和 >)传递给 Windows 批处理文件函数?

linux - 为什么 Windows 上的 FFTW 比 Linux 上快?

windows - 内核模式驱动程序和用户模式应用程序之间的双向通信?

apache-spark - spark UI 对应用程序的内存使用有什么影响?

c++ - 如何使用 PathCreateFromUrlA API

java - 安装 JRI 时遇到问题(R 到 java)

node.js - 无法安装 PhantomJS 以在 Node.js 中使用

programming-languages - "install"你机器上的一种语言是什么意思?

linux-kernel - Linux 用户空间中通过/dev/mem 与 PCIe 设备进行双向通信?