Сбой "dpinst /silent" в Windows XP с подписанными (но не WHQL) драйверами

Программа установки пакетов драйверов (DPInst) с флагом "/ s" (без вывода сообщений) не может установить подписанный драйвер в Windows XP. Сертификат является действительным (сертификат Authenticode), но не сертификатом WHQL. Как я могу исправить эту проблему?

2 ответа

Решение

DPInst имеет два флага "глушения" - /q (Тихо) и /sw (Мастер Подавления). /q подразумевает Quiet, но, вероятно, (я не проверял!) устанавливает DI_QUIETINSTALL при выдаче запроса DIF_REMOVE. По-видимому, это заставляет библиотеку SetupAPI (Windows XP) работать так, как будто они "пытаются меня обмануть!" и отклонить установку, если сертификат не является заветным WHQL[*].

Обратите внимание, что сам DPInst игнорирует действительность сертификата, когда /lm Флаг (Legacy Mode) установлен, но это базовая Windows, которая все равно будет его отклонять.

Решение состоит в том, чтобы использовать /sw флаг (вместе с /lm).

Кстати, я все еще должен проверить последствия этого - например, Windows под всплывающим окном "STOP Installation" в некоторых конфигурациях? Я протестирую и обновлю этот ответ соответственно.

Приглашение "STOP Installation" выглядит следующим образом:

Единственное окно, отображаемое при некоторых обстоятельствах для флага командной строки

[*]... или другой сертификат проверки компонентов Windows, но это не главное.

Если драйвер устройства подписан, необходимо добавить его издателя в список доверенных издателей. выполните шаги, указанные в статье ниже

http://www.richud.com/wiki/Windows_7_Broken_Trusted_Publisher_Certificates_signed_Drivers_fix

после этого тихая установка будет работать нормально.

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