Инсталиране на драйвери за Windows 8 и проверка на каталог/подпис

Не мога да накарам Windows 8 (преглед на версията) да приеме подхода inf2cat или makecat, описан като решения на въпроса в

Какво се промени в изискванията за подпис на драйвера за Windows 8 ?

освен ако не деактивирам валидирането.

На този етап не ги подписвам с никакви сертификати, просто се опитвам да преодолея грешките, пречещи на драйверите да се инсталират изобщо.

Windows 8 ми дава много неописуема грешка:

„Възникна проблем при опит за добавяне на драйвера към магазина.“

Гледайки в регистрационните файлове на събитията, няма нищо полезно; само информационен запис от „Отчитане на грешки в Windows“, указващ PnPdriverimporterror.

Когато използвам оригиналните си файлове с cab файловете, които не съответстват на inf, получавам грешката, която всички останали изброяват:

Хешът за файла не присъства в посочения каталожен файл.

Имам един .inf файл, за който трябва да генерирам .cat.

Може би правя нещо нередно. Идеи??

INF2CAT подход

c:\win_xp_vista32_64>inf2cat /driver:"." /os:XP_X86,XP_x64,Vista_X86,Vista_x64,7_X86,7_X64,8_X86,8_X64

.......................
Signability test complete.

Errors:
None

Warnings:
22.9.10: usbser.sys in [drivercopyfiles.nt] is missing from [SourceDisksFiles] s
ection in \mchpcdc.inf; ok if file source is provided via LayoutFile in [Version
].
22.9.10: %driverfilename%.sys in [drivercopyfiles.ntamd64] is missing from [Sour
ceDisksFiles] section in \mchpcdc.inf; ok if file source is provided via LayoutF
ile in [Version].

Catalog generation complete.
c:\win_xp_vista32_64\mchpcdc.cat

MAKECAT подход

--- start of catalog.cdf file---

[CatalogHeader]
Name=mchpcdc.cat
ResultDir=.\
[CatalogFiles]
<hash>mchpcdc=.\mchpcdc.inf
---end of .cdf file ---


c:\win_xp_vista32_64>makecat catalog.cdf

Същите тези файлове, без котката от двата подхода, се инсталират добре в Windows 7.


person jen    schedule 07.06.2012    source източник
comment
Ако използвате DDK, коя версия използвате? Ако не, откъде взехте inf2cat/makecat и каква версия са?   -  person Roger Stewart    schedule 13.06.2012
comment
Аз имам същия проблем. Няма предупреждения за моя inf2cat. Току-що изтеглих най-новия wdk.   -  person PatrickV    schedule 28.07.2012
comment
Доколкото знам, не можете да използвате Makecat, за да създадете каталожен файл (.cat) за драйвер, който е инсталиран с помощта на .inf файл. Трябва да използвате Inf2cat, за да създадете необходимия .cat файл.   -  person amirfg    schedule 25.10.2019


Отговори (4)


Мисля, че този проблем е свързан с „налагането на подписване на драйвери на Windows“. Можете да разрешите това, като деактивирате тази опция. Преминете с връзката по-долу:

http://tivadj-tech.blogspot.in/2012/09/certificate-check-error-when-installing.html

person Ramaprasad Upadhyaya    schedule 22.10.2012
comment
Моля, не използвайте подписи или надписи в публикациите си или те ще бъдат премахнати. - person some_other_guy; 22.10.2012

Току-що тествах това на Windows 10 и 8 PRO сега, за да направите това правилно, изпълнете следните стъпки:

1) От менюто "Старт" намерете "x64 Checked Build Environment" на вашия DDK, т.е. персонализирания екран за компилация на DOS. Щракнете с десния бутон, стартирайте като администратор...

2) Компилирайте своя източник с инструментите за изграждане и т.н.

3) Влезте във вашия компилиран код и след това създайте своя тестов сертификат (все още не е необходимо да купувате такъв, използвайте вашия самоподписан, създаден с реда по-долу):

makecert -r -pe -ss PrivateCertStore -n CN=newhex.com(Тест) NewhexTest.cer

Горното означава, че вашият сертификат се нарича "newhex.com(Test)", а генерираният файл е "NewhexTest.cer"

4) Създайте/редактирайте вашия .CDF файл, който съдържа елементи за съдържанието на вашия CAT файл.

5) Създайте вашия CAT файл, като изпълните:

makecat -v MyCDF.CDF

Това трябва да генерира неподписан CAT файл, който включва всички файлове, посочени от вашия CDF.

6) Подпишете вашия CAT файл, както следва:

Signtool sign /v /s PrivateCertStore /n newhex.com(test) /t http://timestamp.verisign.com/scripts/timestamp.dll MyDriverWhatever.cat

Това трябва да доведе до CAT файл, който е подписан, но не просто го инсталирайте, защото вашият Windows не може да се довери на сертификата на Newhex, тъй като не е в хранилището за ключове, за да коригирате това, направете:

7) Добавете вашия сертификат към вашето частно хранилище за ключове, не забравяйте, че тази стъпка ТРЯБВА да бъде извършена с администраторски достъп, в противен случай ще получите грешка за (Keystore not found etc):

certmgr.exe -добавете NewhexTest.cer -s -r корен на локална машина

Това трябва да се добави във вашето хранилище за ключове. След като сте готови, можете да:

8) Влезте в диспечера на устройствата си и добавете новия си драйвер, ще получите предупреждение, но ще бъдете приети и инсталирани без необходимост от рестартиране с принудителен (не проверявайте акаунт тип сертификат).

Вече опитах това и работи на версии на Windows 10 и Windows 8 pro.

С уважение Хайдер Сати

person Heider Sati    schedule 12.09.2015

Трябва да използвате inf2cat, а не makecat, защото имате INF файл.

Трябва да работите върху адресирането на тези предупреждения от inf2cat, като поправите своя INF файл. Ето моя INF файл, който използва usbser.sys и не предизвиква никакви предупреждения: https://gist.github.com/3647208

Успях да поправя своя INF файл благодарение на съвета от chinzei в първата публикация на тази тема: http://www.microchip.com/forums/m488342-print.aspx

Ако продължавате да имате проблеми, моля, редактирайте въпроса си, за да включите източника на вашия INF файл или поне връзка към източника.

person David Grayson    schedule 02.10.2012
comment
За този отговор трябва да се гласува. Абсолютно правилно и точно. - person amirfg; 25.10.2019

Срещам същия проблем и успях да инсталирам своя драйвер с TEST сертификат, като използвах инструкциите, предоставени тук:

http://msdn.microsoft.com/en-us/windows/hardware/gg487328.aspx

person Kyberias    schedule 05.03.2013