Kombinieren von Plattformerweiterungen mit anderen Abschnittsnamenerweiterungen
Wie unter Erstellen von INF-Dateien für mehrere Plattformen und Betriebssysteme angegeben, sind Plattformerweiterungsdekorationen für INF-Modelle-Abschnitte erforderlich, aber es gibt andere Abschnitte, in denen sie optional sind. Ob Plattformerweiterungsdekorationen in diesen Abschnitten verwendet werden, in denen sie optional ist, hängt in der Regel davon ab, ob der INF versucht, verschiedene Plattformen zu unterstützen oder nicht und ob die Installationsanweisungen (einschließlich der genauen zu kopierenden Dateien) auf jeder Plattform identisch sind.
Wenn Sie Plattformerweiterungen in einem INF DDInstall-Abschnitt verwenden, werden alle zugehörigen DDInstall-Abschnitte, z. B. DDInstall, verwendet. Dienste, DDInstall. HW und DDInstall. Schnittstellenabschnitte müssen dieselbe Plattformerweiterung verwenden.
INF-Dateien, die Plattformerweiterungen für install-section-name enthalten, können auch Plattformerweiterungen mit ihrem INF-Abschnitt SourceDisksNames und INF SourceDisksFiles-Abschnittseinträgen enthalten, um Installationsdateispeicherorte auf plattformspezifische Weise anzugeben.
Beispiel: Mehrere Plattformen mit denselben Installationsanweisungen und kopierten Dateien
Dieser Auszug aus einer BEISPIEL-INF-Datei zeigt, wie ein INF strukturiert sein kann, wenn es mehrere Plattformen unterstützen soll, auf denen die Dateien kopiert wurden (falls vorhanden) und die Installationsanweisungen für jede Plattform identisch sind.
[SourceDisksFiles]
ArchitectureAgnosticFile.txt=1
[ExampleModelsSection.NTx86]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleModelsSection.NTamd64]
%DeviceDesc%=ExampleInstallSection,ExampleHardwareId
[ExampleInstallSection]
CopyFiles=FilesToCopy
[FilesToCopy]
ArchitectureAgnosticFile.txt
[ExampleInstallSection.Hw]
...
Beispiel: Mehrere Plattformen mit denselben Installationsanweisungen und verschiedenen kopierten Dateien
Dieser Auszug aus einer INF-Beispieldatei veranschaulicht, wie ein INF strukturiert sein kann, wenn es mehrere Plattformen unterstützen soll, auf denen die kopierten Dateien für jede Plattform unterschiedlich sind. Die zu kopierenden Dateien können durch architekturspezifische [SourceDisksFiles]-Abschnitte unterschieden werden, aber die Installationsabschnitte können immer noch identisch sein.
[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]
...
Beispiel: Mehrere Plattformen mit unterschiedlichen Installationsanweisungen und kopierten Dateien
Dieser Auszug aus einer Beispiel-INF-Datei zeigt, wie ein INF strukturiert sein kann, wenn es mehrere Plattformen unterstützen soll, auf denen die kopierten Dateien für jede Plattform unterschiedlich sind und unterschiedliche Installationsanweisungen vorhanden sind.
[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]
...