Поделиться через


Объединение расширений платформы с другими расширениями имен разделов

Как указано в разделе о создании инф-файлов для нескольких платформ и операционных систем, украшения расширений платформ требуются в разделах INF-моделей, но есть и другие разделы, в которых они необязательны. Использование украшений расширения платформы в этих разделах, где оно является опциональным, как правило, зависит от того, стремится ли INF поддерживать разные платформы и идентичны ли инструкции по установке (включая точные файлы для копирования) на каждой из них.

При использовании расширений платформы в разделе INF DDInstall Section, все связанные разделы DDInstall, такие как DDInstall.Services, DDInstall.HWи DDInstall.Interfaces, должны использовать то же расширение платформы.

INF-файлы, содержащие платформенные расширения install-section-name, могут также включать эти расширения в разделе INF SourceDisksNames и разделе INF SourceDisksFiles , чтобы платформенно указать расположения файлов установки.

Пример. Несколько платформ с одинаковыми инструкциями по установке и теми же файлами, скопированными

Этот фрагмент из примера INF-файла демонстрирует структуру INF-файла, если он должен поддерживать несколько платформ, где копируемые файлы (если таковые имеются) и инструкции по установке одинаковы для каждой платформы.

[SourceDisksFiles]
ArchitectureAgnosticFile.txt=1

[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleInstallSection]
CopyFiles=FilesToCopy

[FilesToCopy]
ArchitectureAgnosticFile.txt

[ExampleInstallSection.Hw]
...

Пример. Несколько платформ с одинаковыми инструкциями по установке и различными файлами, скопированными

Этот фрагмент из примера INF-файла демонстрирует структуру INF-файла, если он должен поддерживать несколько платформ, в которых копируемые файлы отличаются для каждой платформы. Копируемые файлы можно различать по разделам архитектуры [SourceDisksFiles], но разделы установки по-прежнему могут быть одинаковыми.

[SourceDisksFiles.x86]
ArchitectureSpecificBinary.sys=1,x86

[SourceDisksFiles.amd64]
ArchitectureSpecificBinary.sys=1,amd64

[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleInstallSection]
CopyFiles=FilesToCopy

[FilesToCopy]
ArchitectureSpecificBinary.sys

[ExampleInstallSection.Services]
AddService=ExampleService,2,ExampleServiceInstallSection

[ExampleServiceInstallSection]
...

Пример: несколько платформ с различными инструкциями по установке и разными файлами, скопированными

Этот фрагмент из примера INF-файла демонстрирует структуру INF-файла, если он должен поддерживать несколько платформ, в которых копируемые файлы отличаются для каждой платформы и существуют разные инструкции по установке.

[SourceDisksFiles.x86]
ArchitectureSpecificBinary.sys=1,x86
x86OnlyBinary.dll=1,x86

[SourceDisksFiles.amd64]
ArchitectureSpecificBinary.sys=1,amd64

[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId

[ExampleInstallSection.NTx86]
CopyFiles=FilesToCopy_x86

[FilesToCopy_x86]
ArchitectureSpecificBinary.sys
x86OnlyBinary.dll

[ExampleInstallSection.NTx86.Services]
AddService=ExampleService,2,ExampleServiceInstallSection

[ExampleInstallSection.NTamd64]
CopyFiles=FilesToCopy_amd64

[FilesToCopy_amd64]
ArchitectureSpecificBinary.sys

[ExampleInstallSection.NTamd64.Services]
AddService=ExampleService,2,ExampleServiceInstallSection

[ExampleServiceInstallSection]
...