从命令行安装驱动程序 (.inf) 文件

Posted

技术标签:

【中文标题】从命令行安装驱动程序 (.inf) 文件【英文标题】:Installing a driver(.inf) file from command line 【发布时间】:2014-04-25 03:58:48 【问题描述】:

我在 Windows 8.1 中工作。 我需要从命令行安装驱动程序文件(.inf 文件)。我需要使用哪个命令。? 我知道我有很多其他方法可以安装 .inf 文件,但我必须从命令行安装它。

请帮帮我 提前谢谢...

【问题讨论】:

***.com/questions/619604/… 【参考方案1】:

Granger 的评论也适用于 Windows 7。据 MS 称,PnPUtil (PnPUtil.exe) 包含在每个版本的 Windows 中,从 Windows Vista 开始

对于没有默认安装的设备驱动程序很有用(右键单击“安装”对他们不起作用)。

pnputil -i -a <driverinf>

【讨论】:

【参考方案2】:

设备驱动的默认方式是:

pnputil -i -a <driverinf>

不能使用 pnputil 安装旧版驱动程序,必须使用 LaunchINFSectionEx-Call

我测试了以下内容,它适用于从 Windows 2000 到 Windows 10、2012R2、2016、2019 的多个驱动程序。

rundll32.exe advpack.dll,LaunchINFSectionEx ykmd.inf,Yubico64_Install.NT,,4,N

注意使用正确的部分

当没有 [DefaultInstall]-Section 时,必须使用 inf-File 的正确部分。这在大多数答案中都缺乏。在您的驱动程序 inf 文件中查找它并使用正确的部分(在我的示例中为“Yubico64_Install.NT”)。使用错误的部分不会提示错误。在我的示例中,我使用安静模式、无 UI (4) 和永不重启 (N) 来通过 GPO 自动安装驱动程序。所有选项都在此处详细记录:

https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa768006(v%3Dvs.85)

【讨论】:

【参考方案3】:

有许多变体......以及较新版本的 Windows 的许多复杂性。

但是对于初学者来说,试试这样的:

rundll32.exe advpack.dll,LaunchINFSectionEx myinf.inf,,c:\temp\mydata.cab,36

http://www.msfn.org/board/topic/104891-how-can-i-install-a-inf-file-from-the-command-line/

http://msdn.microsoft.com/en-us/library/aa768006%28v=vs.85%29.aspx

Programmatic driver install via .inf causing reboot

注意:请注意建议“setupapi”而不是“advpack”的旧链接。你肯定想要 advpack.dll。

【讨论】:

64 位 Windows 怎么样?是rundll64.exe吗? 没有“rundll64.exe”这样的东西。问:你试过“rundll32”吗?发生了什么? 还没有,但我知道用于驱动程序安装的低级 API 要求主 exe 为 32 位或 64 位,具体取决于主机系统。我正在尝试以编程方式安装驱动程序:msdn.microsoft.com/en-us/library/windows/hardware/… 谈到较新版本的 Windows。在Hyper-V Server 2012 r1 & r2 中,命令行为:pnputil -i -a &lt;driverinf&gt;

以上是关于从命令行安装驱动程序 (.inf) 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 INF 文件 c++ 以编程方式安装驱动程序

如何卸载掉使用inf文件安装的不匹配驱动?

win10inf驱动签名 驱动签名

无法安装简单的 .inf 文件

安装 inf 文件但“发现新硬件”向导仍需要驱动程序

inf文件 右键安装后 怎么删除或卸载