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
совершенно бесшумный.