dpinst не может установить драйвер в автоматическом режиме

Я использую установщик Inno Setup для установки моего приложения Win32, он устанавливается в основном в Windows 10. Существует драйвер для некоторого 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

1 ответ

В /S Вариант Dpinstполностью скрывает все взаимодействие с операционной системой. Проблема, с которой вы столкнулись, заключается в том, что ваша операционная система еще не доверяет производителю и не завершает установку. Если вы запускаете Dpinst с параметром/SW например, вы увидите это окно.

Это будет причиной, по которой Установка работает на некоторых компьютерах, а на некоторых - нет.

Одно из решений - извлечь сертификаты для ваших драйверов, позвонить certmgr.msc с консоли и проверьте в разделе "Доверенные издатели", вы должны найти производителя и, щелкнув правой кнопкой мыши, вы сможете экспортировать сертификат как yourCert.cerфайл. Затем вы можете позвонить в качестве администратораcertutil.exe -addstore "TrustedPublisher"yourCert.cer с консоли, прежде чем позвонить Dpinst /S в вашей целевой системе.

Поскольку вы уже предоставили операционной системе сертификат, окно больше не должно всплывать, и вы можете запустить dpinst совершенно бесшумный.

Другие вопросы по тегам