我使用Inno安装安装程序来安装我的Win32应用程序,它主要安装在Windows10上。有一个驱动程序与我的应用程序一起安装一些USB (基本上是USB串口)。驱动程序由文件和目录组成:
amd64 (folder)
x86 (folder)
dfu.cat
dfu.inf
usbserial.cat
usbserial.inf我将dpinst32.exe和dpinst64.exe添加到驱动程序的文件夹中,并从安装程序调用dpinst32或dpinst64 (基于Windows )。
然而,在一些个人电脑上,我最终没有安装驱动程序。
通过安装程序安装驱动程序的正确方法是什么?
编辑:这是来自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发布于 2020-02-19 09:31:30
/S选项Dpinst完全隐藏了与操作系统的所有交互。您遇到的问题是,您的操作系统还不信任制造商,也没有完成安装。例如,如果您使用参数/SW运行Dpinst,您将看到这个窗口。
这就是为什么安装在一些计算机上,而在另一些计算机上不起作用的原因。
一种解决方案是提取驱动程序的证书,从控制台调用certmgr.msc并在“受信任的发布服务器”下检查,您应该找到制造商,然后右击就可以将证书导出为yourCert.cer文件。然后,在调用目标系统上的certutil.exe -addstore "TrustedPublisher" yourCert.cer之前,管理员可以从控制台调用Dpinst /S。
由于您已经给操作系统颁发了证书,因此窗口不应该再弹出,您可以完全静默地运行dpinst。
https://stackoverflow.com/questions/60227108
复制相似问题