Подтвердить что ты не робот

Что изменилось в требованиях подписи драйвера для Windows 8?

У меня есть промежуточный драйвер NDIS, состоящий из двух файлов .inf(один стандартный и один минипорта) и файла .sys, Из-за требований к подписке на драйверы Windows 7 мне пришлось получить сертификат подписи кода и подписать файл .sys, чтобы драйвер мог установить его в 64-разрядную систему. Это отлично работает, и у меня много успешных Windows 7 установок.

Тем не менее, тот же установщик выходит из строя в Windows 8 Consumer Preview (64-разрядный). Если я загружаюсь с Windows Signature Enforcement выключенным, он устанавливается правильно, так что это определенно проблема с подписью. Какие новые требования были добавлены между Windows 7 и Windows 8, которые мне нужно выполнить, чтобы установить мой драйвер?

4b9b3361

Ответ 1

Восстановите ваши кошачьи файлы, чтобы они соответствовали требованиям подписи для новой ОС Windows.

Например, в моей сборке script мне пришлось добавить 8_X86,8_X64 в мою команду inf2cat:

inf2cat /driver:"%CD%" /os:XP_X86,XP_X64,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64

Для Windows 8.1 вам понадобится inf2cat, входящий в комплект драйверов Windows (WDK) 8.1, и в зависимости от ваших целей добавьте 6_3_X64, 6_3_X86 или 6_3_ARM в /os: WindowsVersionList.

Ссылка, Inf2Cat

Ответ 2

У меня была та же проблема. Я использую makecat для создания файла .cat, и я никогда не включал "<HASH> " в начале строки .cdf, в которой перечислены имена файлов. Это работало с Windows 7, но больше не с Windows 8.

Смотрите веб-сайт makecat здесь: http://msdn.microsoft.com/en-us/library/windows/desktop/aa386967%28v=vs.85%29.aspx?ppud=4

У меня был такой .cdf файл:

[CatalogHeader]
Name=xxx.cat
[CatalogFiles]
xxx.sys=xxx.sys

Это работало с Windows 7, но не с Windows 8.

Следующее работает с Windows 8, а также дает более удобный диалог при установке даже под Windows 7:

[CatalogHeader]
Name=xxx.cat
[CatalogFiles]
<hash>xxx.sys=xxx.sys

Чтобы было ясно, вам нужно добавить текст "<hash> " (без кавычек). Это не место для чего-либо, а действительно буквальный текст. makecat позже заменит его хэшем файла в файле .cat.

Чтобы сделать его еще более понятным, "xxx" следует заменить на имена ваших файлов .cat и драйвера, конечно.:)