Windows INF-файлы для нескольких платформ и ОС

Я пытаюсь создать файл INF для Windows, чтобы установить драйвер, который может работать с 32- или 64-разрядной версией Windows 7 или Windows 8. У меня есть 4 разных файла.SYS, все с одинаковыми именами, по одному для каждой ситуации. В моем дистрибутиве я создал 4 директории, каждая из которых содержит один файл драйвера.

В INF-файле, разделе SourceDisksNames я попытался использовать декорации.x86 и.amd64, и они будут правильно выбирать между установками в 32- и 64-битной Windows.

; 32-bit Windows
[SourceDisksNames.x86]
1=%DiskDescription%,,,"w7x86"

; 64-bit Windows
[SourceDisksNames.amd64]
1=%DiskDescription%,,,"w7x64"

Это работает нормально, за исключением того, что мне также нужно выбирать между Windows 7 и 8. Читая MSDN, он говорит, что я могу использовать дополнительное оформление.6.1 (Windows 7) и.6.2 для Windows 8. Поэтому я в итоге получаю названия разделов, такие как

; 64-bit Windows 7 
[SourceDisksNames.amd64.6.1]

; 64-bit Windows 8
[SourceDisksNames.amd64.6.2]

Однако установка сейчас не может быть завершена. Отображается диалоговое окно "Не удалось добавить запрошенную функцию. Ошибка: требуемая строка не найдена в INF".

Может ли кто-нибудь увидеть, что я делаю не так. Указатель на рабочий пример был бы великолепен.

1 ответ

Декораторы версий ОС не допускаются в разделах SourceDisksNames и SourceDisksFiles. См. Замечания по адресу http://msdn.microsoft.com/en-us/library/windows/hardware/ff547478%28v=vs.85%29.aspx для получения подробной информации. Вы должны использовать отделку Vesion в разделах производителя и модели.

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