Condividi tramite


Combinazione di estensioni della piattaforma con altre estensioni nome sezione

Come indicato in Creazione di file INF per più piattaforme e sistemi operativi, le decorazioni di estensione della piattaforma sono necessarie per le sezioni MODELLI INF, ma sono disponibili altre sezioni in cui sono facoltative. Indipendentemente dal fatto che le decorazioni dell'estensione della piattaforma vengano usate in queste sezioni in cui è facoltativo in genere dipende dal fatto che INF stia tentando di supportare piattaforme diverse o meno e se le istruzioni di installazione (inclusi i file esatti da copiare) siano uguali in ogni piattaforma.

Quando si usano le estensioni della piattaforma in una sezione DDInstall INF, tutte le sezioni DDInstall correlate, ad esempio DDInstall. Servizi, DDInstall. HW e DDInstall. Le sezioni interfacce devono usare la stessa estensione della piattaforma.

I file INF che contengono estensioni della piattaforma install-section-name possono includere anche le estensioni della piattaforma con la sezione INF SourceDisksNames e le voci della sezione INF SourceDisksFiles per specificare i percorsi dei file di installazione in modo specifico della piattaforma.

Esempio: più piattaforme con le stesse istruzioni di installazione e gli stessi file copiati

Questo estratto da un file INF di esempio illustra come un INF potrebbe essere strutturato se deve supportare più piattaforme in cui i file copiati (se presenti) e le istruzioni di installazione sono uguali per ogni piattaforma.

[SourceDisksFiles]
ArchitectureAgnosticFile.txt=1

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

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

[ExampleInstallSection]
CopyFiles=FilesToCopy

[FilesToCopy]
ArchitectureAgnosticFile.txt

[ExampleInstallSection.Hw]
...

Esempio: più piattaforme con stesse istruzioni di installazione e file diversi copiati

Questo estratto da un file INF di esempio illustra come un INF potrebbe essere strutturato se deve supportare più piattaforme in cui i file copiati sono diversi per ogni piattaforma. I file da copiare possono essere differenziati in base alle sezioni specifiche dell'architettura [SourceDisksFiles], ma le sezioni di installazione possono comunque essere uguali.

[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]
...

Esempio: più piattaforme con istruzioni di installazione diverse e file diversi copiati

Questo estratto da un file INF di esempio illustra come un INF potrebbe essere strutturato se deve supportare più piattaforme in cui i file copiati sono diversi per ogni piattaforma e sono disponibili istruzioni di installazione diverse.

[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]
...