Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Настройка INF файла под х64  (Прочитано 17614 раз)
0 Пользователей и 6 Гостей смотрят эту тему.
sabbatazh
Помогающий

ua
Offline Offline

« : 07-06-2012 12:43 » 

В очередной раз Приветствую Вас, Уважаемые Знатоки!!!
Возник вопрос с инфом… колупался и высматривал в документациях как настроить инф-файл под х64 вроде получилось но возник вопрос не могу присвоить своему устройству иконку и поместить его как отдельное устройство в дереве устройств диспетчера устройств… Все время пихает его к идие контроллерам… как это исправить?!
Код: (INI)
[Version]

Signature="$WINDOWS NT$"


Class=MDMAIDevice
ClassGuid={4d36e96a-e325-11ce-bfc1-08002be10318}


Provider=MDMAI_Device

DriverVer=01/01/2012, 1.00.0000


[DestinationDirs]

DefaultDestDir = 12

; ================= Class section =====================

[ClassInstall]
Addreg=SampleClassReg

[ClassInstall32]
Addreg=SampleClassReg    

[SampleClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-5
HKR,,DeviceCharacteristics,0x10001,0x100     ;Use same security checks on relative opens
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GA;;;BA)" ;Allow generic all access to system and built-in Admin.


[SourceDisksNames.x86]

1 = "Insatall WDM",Disk1,,


[SourceDisksNames.amd64]

1 = "Insatall WDM",Disk1,,


[SourceDisksFiles.x86]

MDMAI.sys  = 1,,

[SourceDisksFiles.amd64]

MDMAI.sys  = 1,,


[Manufacturer]

%MfgName%=Standard, NTamd64


[Standard]

%MDMAI.DeviceDesc%=MDMAI_Device, PCI\VEN_2004&DEV_680C&SUBSYS_680C2004&REV_01


[Standard.NTamd64]

%MDMAI.DeviceDesc%=MDMAI_Device, PCI\VEN_2004&DEV_680C&SUBSYS_680C2004&REV_01


[MDMAI_Device.NT]

CopyFiles=Drivers_Dir


[Drivers_Dir]

MDMAI.sys


;-------------- Service installation

[MDMAI_Device.NT.Services]

AddService = MDMAI, 0x00000002, dev_Service_Inst


; -------------- busenum driver install sections

[dev_Service_Inst]

DisplayName    = %dev.SVCDESC%

ServiceType    = 1               ; SERVICE_KERNEL_DRIVER

StartType      = 3               ; SERVICE_DEMAND_START

ErrorControl   = 1               ; SERVICE_ERROR_NORMAL

ServiceBinary  = %12%\MDMAI.sys

;LoadOrderGroup = Extended Base


[Strings]

ProviderName="P."
MfgName="P Soft"

ClassName = "Sample Drivers"
DiskId1 = "MDMAI Installation Disk #1"

MDMAI.DeviceDesc = "WDM PCI Driver for DAC/ADC Controller"

dev.SVCDESC = "WDM PCI Driver Service for DAC/ADC Controller"
Огромное Спасибо!
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 07-06-2012 14:46 » 

Errors:

Line 1: (E22.1.1081) Directive: CatalogFile required (and must not be blank) in section [Version] for WHQL digital signature.
Line 6: (E22.1.1010) ClassName is expected to be "HDC".
Warnings:

Line 0: (W22.1.2212) No Copyright information found.
Line 21: (W22.1.2083) Section [CLASSINSTALL] not referenced
Line 24: (W22.1.2077) System defined classes should usually not specify a class installer.
Line 36: (W22.1.2023) Use a string token, and put localizable text in the [Strings] section.
Line 41: (W22.1.2023) Use a string token, and put localizable text in the [Strings] section.

PS видимо поэтому)
пользуйтесь
DDK\tools\Chkinf\chkinf.bat
« Последнее редактирование: 07-06-2012 14:48 от Ochkarik » Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
sabbatazh
Помогающий

ua
Offline Offline

« Ответ #2 : 11-06-2012 17:42 » 

Ochkarik, чет колупаюсь и не могу понять в какой секции завать иконку ветки и свою ветку  в дереве устройств диспетчера!(((
Какпец, чувствую себя полным идиотом ... осилил драйвер, а инф-файл не дается!(((

(E22.1.1010) ClassName is expected to be "HDC". это тихий ужас... что она хотит, я не пойму?!
Код: (INI)
;  MDMAI.Inf - install information file
;  Created 22 feb 2012 by SVP
;  Copyright (c) SVP 2012.  All rights reserved.

[Version]
; (E22.1.1081) Directive: CatalogFile required (and must not be blank) in section [Version] for WHQL digital signature.

Signature="$WINDOWS NT$"

Provider=MDMAI_Device

DriverVer=01/01/2012, 1.00.0000


Class=MDMAIDevice
; (E22.1.1010) ClassName is expected to be "HDC".
ClassGuid={4d36e96a-e325-11ce-bfc1-08002be10318}


[DestinationDirs]

DefaultDestDir = 12

; ================= Class section =====================

[ClassInstall32]
; (W22.1.2077) System defined classes should usually not specify a class installer.
Addreg=SampleClassReg    

[SampleClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-5
HKR,,DeviceCharacteristics,0x10001,0x100     ;Use same security checks on relative opens
HKR,,Security,,"D:P(A;;GA;;;SY)(A;;GA;;;BA)" ;Allow generic all access to system and built-in Admin.

; ================= Device Install section =====================

[ControlFlags]
ExcludeFromSelect=*


[SourceDisksNames.x86]

1 = %DiskId1%,,,\i386


[SourceDisksNames.amd64]

1 = %DiskId1%,,,\amd64


[SourceDisksFiles.x86]

MDMAI.sys  = 1,,

[SourceDisksFiles.amd64]

MDMAI.sys  = 1,,


[Manufacturer]

%MfgName%=Standard, NTamd64


[Standard]

%MDMAI.DeviceDesc%=MDMAI_Device, PCI\VEN_2004&DEV_680C&SUBSYS_680C2004&REV_01


[Standard.NTamd64]

%MDMAI.DeviceDesc%=MDMAI_Device, PCI\VEN_2004&DEV_680C&SUBSYS_680C2004&REV_01


[MDMAI_Device.NT]

CopyFiles=Drivers_Dir


[Drivers_Dir]

MDMAI.sys


;------------- Service installation

[MDMAI_Device.NT.Services]

AddService = MDMAI, 0x00000002, dev_Service_Inst


; -------------- busenum driver install sections

[dev_Service_Inst]

DisplayName    = %dev.SVCDESC%

ServiceType    = 1               ; SERVICE_KERNEL_DRIVER

StartType      = 3               ; SERVICE_DEMAND_START

ErrorControl   = 1               ; SERVICE_ERROR_NORMAL

ServiceBinary  = %12%\MDMAI.sys

;LoadOrderGroup = Extended Base



[Strings]


ProviderName="P."
MfgName="P Soft"

ClassName = "Sample Drivers"
DiskId1 = "MDMAI Installation Disk #1"

MDMAI.DeviceDesc = "WDM PCI Driver for DAC/ADC Controller"

dev.SVCDESC = "WDM PCI Driver Service for DAC/ADC Controller"
« Последнее редактирование: 11-06-2012 18:18 от sabbatazh » Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 11-06-2012 22:19 » 

подозреваю что она хотит, чтобы ClassGuid был взят не от класса HDC а какой нибудь новый)))
а винда видимо считает что GUID важнее поля Icon... и берет иконку от него)
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
sabbatazh
Помогающий

ua
Offline Offline

« Ответ #4 : 12-06-2012 10:22 » new

подозреваю что она хотит, чтобы ClassGuid был взят не от класса HDC а какой нибудь новый)))
а винда видимо считает что GUID важнее поля Icon... и берет иконку от него)
изменил ClassGuid - использовал из nuMega... и получил предупреждение ...
(W22.1.2215) Class MDMAIDevice (ClassGUID {EF2962F0-0D55-4bff-B8AA-2221EE8A79B0}) is unrecognized.
ну а с (E22.1.1081) Directive: CatalogFile required (and must not be blank) in section [Version] for WHQL digital signature. нада городить .cat...
Спасибо!


Добавлено через 1 день, 18 часов, 40 минут и 20 секунд:
О… Люди! как раз одна из ошибок не решенная в ИНФе...   Внимание! Говорит и показывает...
Есть вопрос, как подписать драйвер и собрать свой *.cat-файл для драйвера…???   RTFM
В сети толком ни чего нет, а если и есть, то оно не работает!(((   А черт его знает...
у кого есть отлаженный механизм, поделитесь?!))) А то win7 x64 уже заснашала!!!  Краснею
Спасибо!
« Последнее редактирование: 14-06-2012 05:02 от sabbatazh » Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 14-06-2012 06:49 » 

уууууу... там все начинается со слов "покупаем сертификат")
где на на майкрософте была длинная статья на аглицком. потом найду.
и длинная статья в каком то журнале на русском, где в качестве теста был использован самоподписанный сертификат, но он все равно не канает. только в отладочном режиме с отключенной проверкой подписи. помоему так.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
sabbatazh
Помогающий

ua
Offline Offline

« Ответ #6 : 14-06-2012 11:51 » 

уууууу... там все начинается со слов "покупаем сертификат")
где на на майкрософте была длинная статья на аглицком. потом найду.
и длинная статья в каком то журнале на русском, где в качестве теста был использован самоподписанный сертификат, но он все равно не канает. только в отладочном режиме с отключенной проверкой подписи. помоему так.
За это в курсе!)))
Записан
Ochkarik
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 14-06-2012 14:52 » 

на работе интернет умер) посерчите по форуму - кажется уже были эти ссылки.
Записан

RTFM уже хоть раз наконец!  RTFM :[ ну или хотя бы STFW...
sabbatazh
Помогающий

ua
Offline Offline

« Ответ #8 : 21-06-2012 19:24 » 

на работе интернет умер) посерчите по форуму - кажется уже были эти ссылки.
чет рылся и без успешно!((
Записан
oleshii
Участник

ru
Offline Offline

« Ответ #9 : 22-06-2012 05:57 » 

А WDK посмотреть - не судьба ? Там есть директория selfsign, включающая необходимые tools для генерации .cat файла
и подписи драйвера тестовым сертификатом. Если дравер boot (registry\services\driver\start=[0 2]), то требуется
на отлаживаемом хосте включить режим testsigning с помощью bcdedit
Ежели вдруг не заработает, смотрите WDK более ранних версий (например, под Vista = WDK ver = 6001). Есть даже скрипт
для подписи драйвера. "Вынуть" из него нужные строчки - не задача. Называется он selfsign_example.cmd
и лежит в WDK 7 %DDKROOT%\src\general\build\driversigning
Записан
sabbatazh
Помогающий

ua
Offline Offline

« Ответ #10 : 22-06-2012 17:46 » 

oleshii, не вопрос! Судьба! По Вашему предложению уже разбирась! Так что спасибо!

Добавлено через 1 день, 23 часа, 12 минут и 53 секунды:
Цитата
А WDK посмотреть - не судьба ?
пока для меня темный лес!  С ума сойти...
« Последнее редактирование: 24-06-2012 16:59 от sabbatazh » Записан
oleshii
Участник

ru
Offline Offline

« Ответ #11 : 25-06-2012 06:10 » 

Там есть .html-ник с достаточно подробным описанием - что, зачем и почем. В .cmd шнике Вам необходимы=> шаги:
1) с помощью makecert создать тестовый сертификат и импортировать его в 1 из certificate storage (что это такое и как их посмотреть:
    запустить CertMgr.msc Они бывают виртуальными и физическими (например, реестр является физическим. Зависимость на деле более
    сложная, полностью рассказывать не хочется)   
2) c помощью inf2cat (более поздние типа signability инструменты лажают) сгенерировать .cat файл
3) с помощью SignTool подписать драйвер
Шаги №1 и 2 необходимы ТОЛЬКО в 1й раз, в дальнейшем можно обходиться только шагом 3.
Записан
sabbatazh
Помогающий

ua
Offline Offline

« Ответ #12 : 26-06-2012 06:40 » 

oleshii, спасибо! Буду разбираться...
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines