Combinaison d’extensions de plateforme avec d’autres extensions de nom de section
Comme indiqué dans Création de fichiers INF pour plusieurs plateformes et systèmes d’exploitation, des décorations d’extension de plateforme sont requises pour les sections Modèles INF, mais il existe d’autres sections où elles sont facultatives. L’utilisation ou non de décorations d’extension de plateforme dans ces sections, où elles sont facultatives, dépend généralement de la tentative de prise en charge de différentes plateformes par l’INF et du fait que les instructions d’installation (y compris les fichiers exacts à copier) sont les mêmes sur chaque plateforme.
Lors de l’utilisation d’extensions de plateforme sur une section INF DDInstall, toutes les sections DDInstall associées, telles que DDInstall. Services, DDInstall. HW et DDInstall. Les sections Interfaces doivent utiliser la même extension de plateforme.
Les fichiers INF qui contiennent des extensions de plateforme install-section-name peuvent également inclure des extensions de plateforme avec leur section INF SourceDisksNames et leurs entrées de section INF SourceDisksFiles , pour spécifier les emplacements des fichiers d’installation d’une manière spécifique à la plateforme.
Exemple : Plusieurs plateformes avec les mêmes instructions d’installation et les mêmes fichiers copiés
Cet extrait d’un exemple de fichier INF montre comment un inf peut être structuré s’il doit prendre en charge plusieurs plateformes où les fichiers copiés (le cas échéant) et les instructions d’installation sont identiques pour chaque plateforme.
[SourceDisksFiles]
ArchitectureAgnosticFile.txt=1
[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleInstallSection]
CopyFiles=FilesToCopy
[FilesToCopy]
ArchitectureAgnosticFile.txt
[ExampleInstallSection.Hw]
...
Exemple : Plusieurs plateformes avec les mêmes instructions d’installation et différents fichiers copiés
Cet extrait d’un exemple de fichier INF montre comment un inf peut être structuré s’il doit prendre en charge plusieurs plateformes où les fichiers copiés sont différents pour chaque plateforme. Les fichiers à copier peuvent être différenciés par des sections [SourceDisksFiles] spécifiques à l’architecture, mais les sections d’installation peuvent toujours être les mêmes.
[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]
...
Exemple : Plusieurs plateformes avec différentes instructions d’installation et différents fichiers copiés
Cet extrait d’un exemple de fichier INF montre comment un inf peut être structuré s’il doit prendre en charge plusieurs plateformes où les fichiers copiés sont différents pour chaque plateforme et où il existe des instructions d’installation différentes.
[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]
...