【问题标题】:Install device driver silently on Windows XP在 Windows XP 上静默安装设备驱动程序
【发布时间】:2010-12-07 01:16:57
【问题描述】:
有没有办法以编程方式静默安装设备驱动程序,无需 cat 文件,也无需在 Windows Xp 上连接设备?
我正在使用 Windows Driver Kit 中的 DriverPackageInstall 功能。而且只有连接了设备才能安装驱动程序。在其他情况下,我收到一个错误:ERROR_NO_SUCH_DEVINST。但该方法适用于 Windows Vista。
另一个问题是警告对话框,要求用户继续或停止安装,因为 cat 文件丢失。它显示在两个操作系统上。
有什么想法吗?
【问题讨论】:
标签:
windows-xp
installation
device-driver
wdk
【解决方案1】:
您不会跳过签名提示,因为它在 Windows 中已经很成熟了,但是 DDK 中有一个名为 devinst 的工具,它适用于设备安装。
其中包含源代码。
【解决方案2】:
避免因驱动程序未签名而导致的任何 UI 交互的唯一方法是通过直接修改注册表来恶意预安装驱动程序。
是的,可以做到。您必须修改 HKLM\System\CurrentControlSet\Enum 注册表项上的 ACL 以 SYSTEM 身份运行(通过将自己安装为服务或使用 Sysinternals psexec -s),并添加所有注册表项Windows 设备安装通常会添加 - 您自己。仅当您可以准确预测设备的设备实例 ID 是什么时,这才有效——例如如果是 USB 设备,它会连接到的精确端口等。
这是 hacky,但结果将是设备本质上是“预装”的。这将需要大量工作,并且会在 Windows Vista 上中断。
微软真的希望你在 Windows XP 上采用 WHQL 方式,抱歉:(