windows - dpinst 无法静默安装驱动程序

标签 windows installation inno-setup dpinst

我使用 Inno Setup 安装程序来安装我的 Win32 应用程序,它主要安装在 Windows 10 上。有一些 USB 加密狗(基本上是 USB 串行端口)的驱动程序要与我的应用程序一起安装。驱动程序由文件和目录组成:

amd64 (folder)
x86 (folder)
dfu.cat
dfu.inf
usbserial.cat
usbserial.inf

我添加了 dpinst32.exedpinst64.exe到司机的文件夹,我调用dpinst32dpinst64 (基于 Windows 版本)来自我的安装程序。

但是,在某些 PC 上,我以未安装驱动程序结束。

通过我的安装程序安装驱动程序的正确方法是什么?

编辑:这是来自 dpinst64.exe /Q /c 的日志
INFO:   Option set: dumping log info to console.
INFO:   Current working directory: 'F:\windrv'
INFO:   Running on path 'F:\windrv'
INFO:   No valid 'dpinst.xml' file provided.
INFO:   Install option set: Running in quiet mode. Suppressing Wizard and OS popups.
INFO:   Found driver package: 'F:\windrv\dfu.inf'.
INFO:   Found driver package: 'F:\windrv\usbserial.inf'.
INFO:   Preinstalling 'f:\windrv\dfu.inf' ...
INFO:   ENTER:  DriverPackagePreinstallW
INFO:   RETURN: DriverPackagePreinstallW  (0xE0000242)
INFO:   Preinstalling 'f:\windrv\usbserial.inf' ...
INFO:   ENTER:  DriverPackagePreinstallW
INFO:   RETURN: DriverPackagePreinstallW  (0xE0000242)
INFO:   Returning with code 0x80020000

最佳答案

/S Dpinst 的选项完全隐藏与操作系统的所有交互。您遇到的问题是您的操作系统还不信任制造商并且没有完成安装。如果您使用参数 /SW 运行 Dpinst例如,您将看到此窗口。

这就是安装在某些计算机上有效而在其他计算机上无效的原因。

一种解决方案是为您的驱动程序提取证书,请调用 certmgr.msc从控制台并检查“受信任的发布者”下,您应该找到制造商并右键单击能够将证书导出为 yourCert.cer文件。然后,您可以作为管理员调用 certutil.exe -addstore "TrustedPublisher" yourCert.cer在您调用 Dpinst /S 之前从控制台在您的目标系统上。

由于您已经为操作系统提供了证书,因此该窗口不应再弹出,您可以运行 dpinst完全沉默。

关于windows - dpinst 无法静默安装驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60227108/

相关文章:

windows - 我不遵循此脚本中发生的数学运算

windows - gvim 先前在兼容模式下发出的命令

inno-setup - Inno Setup 中带有拉伸(stretch)图像的自定义欢迎和完成页面

icons - Inno Setup 卸载图标消失

c - RegCreateKeyEx() 和 GetLastError()

java - Android Studio 错误无法识别的窗口套接字

ruby - 使用 rbenv BUILD FAILED 安装 ruby​​-2.0.0-p0

windows - Inno Setup - 如何在线验证序列号

.net - WiX - 在设置输出中收集非项目程序集

c# - INNO 设置序列号验证失败?