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