无忧启动论坛
标题:
微软驱动安装程序
[打印本页]
作者:
chishingchan
时间:
2023-5-14 21:02
标题:
微软驱动安装程序
本帖最后由 chishingchan 于 2023-5-14 21:12 编辑
DPInst.exe (32 & 64)
安装和卸载驱动程序包。
默认情况下,该工具可搜索当前目录并尝试安装所有找到的驱动程序包。
使用情况: DPInst64.exe [/U INF-file][/S | /Q][/LM][/P][/F][/SH][/SA]
[/A][/PATH Path][/EL][/L LanguageID][/C][/D][/LogTitle Title][/SW][/? | /h | /help]
/U INF-file 卸载一个驱动程序包 (INF-文件)。
/S | /Q 静默 (静音) 模式。取消设备安装向导和操作系统弹出的任何对话框。
/LM 旧模式。接受未经签名的驱动程序包及含有丢失文件的程序包。这些程序包将不会安装在最新版本的 Windows 中。
/P 如果要安装的驱动程序包没有当前的程序包好,则进行提示。
/F 如果驱动程序包没有当前的程序包好,则强制安装。
/SH 扫描硬件以匹配设备,并且只为目前存在的设备复制并安装这些驱动程序。仅对即插即用驱动程序有效。
/SA 取消为每个驱动程序包正常创建的添加/删除程序项。
/A 全部安装或不安装。
/PATH Path 搜索指定路径下的驱动程序包。
/EL 启用未明确列在 XML 文件中的所有语言。
/L LanguageID 尝试在所有 UI 中使用指定的语言。对于本地化测试非常有用。
/SE 取消 EULA。
/C 将日志文件输出转储到附加控制台(Windows XP 及更新版本)。
/D 卸载时删除驱动程序二进制文件。
/SW 取消设备安装向导,操作系统可能仍会弹出用户对话框。
/? | /h | /help 显示此帮助。
复制代码
devcon.exe (32 & 64)
Device Console Help:
devcon_x64 [-r] [-m:\\<machine>] <command> [<arg>...]
-r Reboots the system only when a restart or reboot is required.
<machine> Specifies a remote computer.
<command> Specifies a Devcon command (see command list below).
<arg>... One or more arguments that modify a command.
For help with a specific command, type: devcon_x64 help <command>
classfilter Add, delete, and reorder class filters.
classes List all device setup classes.
disable Disable devices.
driverfiles List installed driver files for devices.
drivernodes List driver nodes of devices.
enable Enable devices.
find Find devices.
findall Find devices, including those that are not currently attached.
help Display Devcon help.
hwids List hardware IDs of devices.
install Install a device manually.
listclass List all devices in a setup class.
reboot Reboot the local computer.
remove Remove devices.
rescan Scan for new hardware.
resources List hardware resources for devices.
restart Restart devices.
sethwid Modify Hardware ID's of listed root-enumerated devices.
stack List expected driver stack for devices.
status List running status of devices.
update Update a device manually.
updateni Manually update a device (non interactive).
dp_add Adds (installs) a third-party (OEM) driver package.
dp_delete Deletes a third-party (OEM) driver package.
dp_enum Lists the third-party (OEM) driver packages installed on this machine.
复制代码
还有哪些微软出品的安装驱动程序吗?
易用性还是觉得 DPInst.exe 好!
作者:
泮安宁
时间:
2023-5-14 21:15
还有个pnputil吧
作者:
szwp
时间:
2023-5-14 21:44
dism
作者:
lx5815
时间:
2023-5-15 08:37
感谢分享
作者:
chishingchan
时间:
2023-5-15 10:05
本帖最后由 chishingchan 于 2023-5-15 10:23 编辑
谢谢 2# 的提示!
PnPUtil - Windows drivers | Microsoft Learn
DevGen - Windows drivers | Microsoft Learn
Windows 设备控制台 (Devcon.exe) - Windows drivers | Microsoft Learn
PnPUtil
PnPUtil (PnPUtil.exe) 是一种命令行工具,可让管理员对 驱动程序包执行操作。 示例包括:
1、将驱动程序包添加到 驱动程序存储区。
2、在计算机上安装驱动程序包。
3、从驱动程序存储区中删除驱动程序包。
4、枚举当前位于驱动程序存储区中的驱动程序包。 仅列出非内置包的驱动程序包。 内置驱动程序包是 Windows 或其 service pack 的默认安装中包含的程序包。
PnPUtil 示例
本主题提供有关如何使用 PnPUtil 工具的示例。
/add-driver
添加驱动程序包
pnputil /add-driver x:\driver.inf
添加多个驱动程序包
pnputil /add-driver c:\oem\*.inf
在现有设备上添加和安装驱动程序包
pnputil /add-driver device.inf /install
/delete-driver
删除驱动程序包
pnputil /delete-driver oem0.inf
强制删除驱动程序包
pnputil /delete-driver oem1.inf /force
/export-driver
导出驱动程序包
pnputil /export-driver oem6.inf .
导出所有驱动程序包
pnputil /export-driver * c:\backup
/enum-drivers
枚举 OEM 驱动程序包
pnputil /enum-drivers
枚举特定类的所有 OEM 驱动程序包
pnputil /enum-drivers /class "System"
枚举所有 OEM 驱动程序包并显示驱动程序文件
pnputil /enum-drivers /files
/disable-device
禁用设备实例 ID 指定的设备
pnputil /disable-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
禁用具有特定硬件/兼容 ID 的所有设备
pnputil /disable-device /deviceid "USB\Class_03"
在特定总线上禁用特定类的所有设备
pnputil /disable-device /class "USB" /bus "PCI"
/enable-device
启用设备实例 ID 指定的设备
pnputil /enable-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
启用具有特定硬件/兼容 ID 的所有设备
pnputil /enable-device /deviceid "USB\Class_03"
在特定总线上启用特定类的所有设备
pnputil /enable-device /class "USB" /bus "PCI"
/restart-device
重启设备实例 ID 指定的设备
pnputil /restart-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
使用特定硬件/兼容 ID 重启所有设备
pnputil /restart-device /deviceid "USB\Class_03"
在特定总线上重启特定类的所有设备
pnputil /restart-device /class "USB" /bus "PCI"
/remove-device
删除设备实例 ID 指定的设备
pnputil /remove-device "USB\VID_045E&PID_00DB\6&870CE29&0&1"
删除具有特定硬件/兼容 ID 的所有设备
pnputil /remove-device /deviceid "USB\Class_03"
删除特定总线上特定类的所有设备
pnputil /remove-device /class "USB" /bus "PCI"
/scan-devices
扫描系统以查找任何设备硬件更改
pnputil /scan-devices
/enum-devices
仅枚举系统上的已连接设备
pnputil /enum-devices /connected
枚举具有特定实例 ID 的设备
pnputil /enum-devices /instanceid "ACPI\PNP0A08\1"
枚举具有特定类的所有设备
pnputil /enum-devices /class "Display"
枚举具有特定问题代码的所有设备
pnputil /enum-devices /problem 28
枚举所有有问题的设备并显示硬件/兼容的 ID
pnputil /enum-devices /problem /deviceids
枚举具有特定硬件/兼容 ID 的所有设备
pnputil /enum-devices /deviceid "USB\Class_03"
枚举具有特定总线的所有设备
pnputil /enum-devices /bus "PCI"
/enum-interfaces
仅枚举系统上已启用的接口
pnputil /enum-interfaces /enabled
枚举具有特定接口类 GUID 的所有接口
pnputil /enum-interfaces /class "{884b96c3-56ef-11d1-bc8c-00a0c91405dd}"
/enum-classes
枚举系统上的所有设备安装类
pnputil /enum-classes
枚举特定设备安装类的信息
pnputil /enum-classes /class "Display"
复制代码
查找的同时还找到下面这个,但不懂具体应用!
DevGen
DevGen (DevGen.exe) 是一种命令行工具,允许管理员创建 软件 设备和根枚举设备以进行测试。
语法
DEVGEN [/add [<…>] | /remove <…>| /?]
命令
/add
创建设备。
语法
DEVGEN /add [/bus <SWD | ROOT>] [/instanceid <instance ID>]
[/parent <device instance ID>] [/hardwareid <hardware ID>]
[/compatibleid <compatible ID>] [/wait [<timeout in MS>]]
[/unplug] [/subtree]
标记:
/bus <SWD | ROOT> - SWD 枚举将在重新启动后断开连接的软件设备。 ROOT 枚举在重新启动后将保留的根设备。 默认情况下会创建软件设备。
/instanceid <instance ID> - 生成设备时使用的唯一实例 ID。
/parent <device instance ID> - 要枚举其下的设备的父设备。 仅支持软件设备。 默认情况下,设备在 HTREE\ROOT\0 下枚举。
/hardwareid <hardware ID> - 在生成的设备上设置的硬件 ID。 可以通过多次使用此参数来设置多个硬件 ID。
/compatibleid <compatible ID> - 在生成的设备上设置的兼容 ID。 可以通过多次使用此参数来设置多个兼容 ID。
/wait [<timeout in MS>] - 等待用户提示或可选超时后立即删除设备。 以毫秒为单位指定的超时。
/unplug - 修改 /wait 参数以在不删除的情况下拔出设备。 设备将保留为非现有设备节点。 仅当使用 /wait 参数生成软件设备时有效。
/subtree - 删除整个设备子树,包括任何子设备。
/remove
删除由设备实例 ID 指定的设备。 只有使用 DevGen 创建的设备才能使用 DevGen 删除。
语法
DEVGEN /remove <device instance ID> [/subtree]
标记:
/subtree - 删除整个设备子树,包括任何子设备。
软件设备与 Root-Enumerated 设备
默认情况下,DevGen 会创建一个 软件设备。 软件设备是建议的测试设备,因为它们在重新启动后不会持久保存,也不会使系统混乱。 仅对需要重新启动系统的测试用例使用根枚举设备。
复制代码
作者:
chishingchan
时间:
2023-5-15 10:25
szwp 发表于 2023-5-14 21:44
dism
谢谢提示!
https://learn.microsoft.com/zh-c ... ism?view=windows-11
作者:
chishingchan
时间:
2023-5-15 10:29
DIFx 指南
从 Windows 10 版本 1607 (Redstone 1) 开始,驱动程序安装框架 (DIFx) 工具 (Difxapi.dll、Difxapp.dll、 Difxappa.dll和 DPInst.exe) 已弃用,不再包含在 WDK 中。
相反,我们建议将 驱动程序包 作为不需要安装程序的独立驱动程序包提供。 这是一个独立包,它添加它正常运行所需的自己的设置或配置,而不是依赖于安装程序来修改驱动程序包可能依赖的系统状态。 需要独立驱动程序包才能支持驱动程序包方案,例如通过Windows 更新分发驱动程序包以及将驱动程序包添加到脱机映像。 建议发布独立的驱动程序包,以便通过Windows 更新交付到硬件插入的系统。 在 Windows 更新 上发布驱动程序包的第一步是将驱动程序包提交到 Windows 硬件开发人员中心。
如果仍然选择使用 DIFx,则必须使用较旧的 WDK 来获取正确的工具。 以下注意事项适用:
如果驱动程序包仅指定 targetOSVersion 值Windows 8.1或更高版本,则不能使用 DIFxApp MSI 自定义操作 (Difxapp.dll和Difxappa.dll) ,因为 DIFxApp 依赖于 GetVersionEx(从 Windows 8.1 开始更改的 API)。 TargetOSVersion 在 INF Manufacturer 节中指定。 DIFxApp 公开 MSI 自定义操作,例如 MsiProcessDrivers、MsiInstallDrivers 和 MsiUninstallDrivers。 如果驱动程序包将 TargetOSVersion 值指定为 Windows 8.1 或更高版本,则无法在 MSI 中使用这些自定义操作。
从 Windows 8.1 开始,链接到 Difxapi.dll 的应用程序必须包含面向要运行应用程序的 OS 版本的应用清单。 这是由于 DIFxAPI 对 GetVersionEx 的依赖,GetVersionEx 是一种从 Windows 8.1 开始更改的 API。 有关 Windows 8.1 中对 GetVersionEx 的更改的详细信息,请参阅面向 Windows 的应用程序。
如果驱动程序包使用 Windows 10 版本 1607 (内部版本 14310 及更高版本) ) 中引入的 TargetOSVersion (BuildNumber 部分,则不能将该驱动程序包结合使用 DIFx 工具。 DIFx 工具不支持 BuildNumber 目标。
使用 DIFx 版本 2.1,该版本在 Windows 7 WDK 中通过 Windows 10 版本 1511 WDK 提供。 尽管早期版本的 WDK 中提供了 DIFx 版本 2.1,但它与 Windows 7 及更高版本的 Windows 不兼容。
较旧的 WDK 仅包含 DIFx 二进制文件的 x86 和 amd64 版本。 DIFx 二进制文件不适用于其他体系结构。
尽管不再更新,但可以在 Difxapi.h 中找到 DIFx 的 API 参考文档。 如果使用 DriverPackagePreinstall、DriverPackageInstall 和 DriverPackageUninstall API,请考虑切换到 DiInstallDriver 和 DiUninstallDriver。
如果仍需要自定义安装程序来安装驱动程序包,请使用 PnPUtil 命令行工具或调用 驱动程序安装函数的自定义安装程序。
同样,如果需要自定义安装程序来卸载驱动程序包,请使用 PnPUtil 或调用 DiUninstallDriver 或 SetupUninstallOEMInf 的自定义安装程序。
作者:
yc2428
时间:
2023-5-15 10:36
感谢分享
作者:
yyz2191958
时间:
2023-5-15 12:06
感谢分享
作者:
旁观者清
时间:
2023-5-15 12:41
谢谢分享。
作者:
id3389
时间:
2023-5-16 15:57
支持 楼主分享@
作者:
Anson4
时间:
2023-5-24 21:24
感谢分享!
作者:
hubingchuan7
时间:
2023-5-27 22:55
谢谢分享
作者:
zllsid
时间:
2023-6-3 01:57
感谢分享
作者:
学习委猿
时间:
2023-6-24 15:12
感谢分享
作者:
napoleon_lai
时间:
2023-7-12 21:40
感谢分享
作者:
eone1984
时间:
2023-7-24 09:49
学习学习。谢谢分享
作者:
xuchen0306
时间:
2023-7-24 09:52
学到了
作者:
LinkStark
时间:
2023-7-24 21:23
驱动要怎么卸载呢
作者:
szwp
时间:
2023-7-30 17:23
LinkStark 发表于 2023-7-24 21:23
驱动要怎么卸载呢
dism /Remove-Driver
作者:
369258147qqq
时间:
2023-8-18 01:11
学习学习
作者:
yszwang
时间:
2023-8-26 10:35
点命令还是有些门槛的
作者:
LHChang
时间:
2023-9-12 09:47
学习学习
作者:
shuini
时间:
2024-2-27 09:29
DPInst.exe是微软官方工具吗?
作者:
wang1126
时间:
2024-2-28 07:22
感谢分享
作者:
Monkeydance
时间:
2024-3-3 00:31
谢谢分享
作者:
yyz2191958
时间:
2024-3-7 13:39
看不明白
作者:
guihuaju
时间:
2024-6-4 19:20
谢谢分享
作者:
mednova
时间:
2024-6-14 11:09
感觉怎么样
作者:
孟仁飞
时间:
2024-6-15 10:22
学习
作者:
小楼昨夜又大风
时间:
2024-6-16 19:40
学习了
作者:
guihuaju
时间:
2024-6-17 18:51
谢谢分享
作者:
那晚没灯
时间:
2024-7-5 15:02
学习了
作者:
silray
时间:
2024-7-17 21:49
作者:
ootd123
时间:
2024-7-19 11:54
很好,很實用,感謝分享。
作者:
j4tan
时间:
2024-8-26 17:28
学习了,感谢大佬分享教程
作者:
旭东
时间:
2024-9-7 17:25
感谢分享了
作者:
wn168cn@163.com
时间:
2024-10-19 18:25
感谢分享
作者:
mr8246
时间:
2024-10-26 16:37
学习一下
欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/)
Powered by Discuz! X3.3