Erstellen von INF-Dateien für mehrere Plattformen und Betriebssysteme
Wenn Sie systemdefinierte Plattformerweiterungen für INF-Dateiabschnitte und -anweisungen verwenden, können Sie eine einzelne INF-Datei für plattformübergreifende Installationen erstellen. Mit den Erweiterungen können Sie dekorierte Abschnittsnamen erstellen, die angeben, welche Abschnitte und Anweisungen für jede Zielplattform und jedes Betriebssystem relevant sind. Sie können beispielsweise eine INF-Datei erstellen, die ein Gerät nur auf x64-basierten Systemen installiert, nur auf Itanium-basierten Systemen, nur auf x86-basierten Systemen oder auf allen Systemen, die von Windows 2000 und höheren Versionen von Windows unterstützt werden.
In der folgenden Tabelle sind die vom System unterstützten Plattformerweiterungen zusammengefasst, die den Namen von Abschnitten hinzugefügt werden können, die Erweiterungen unterstützen.
Plattformerweiterung | Zweck |
---|---|
.ntamd64 |
Der Abschnitt enthält Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf x64-basierten Systemen, die von Windows XP und höher unterstützt werden. |
.ntia64 |
Der Abschnitt enthält Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf Itanium-basierten Systemen, die von Windows XP und höher unterstützt werden. |
.ntx86 |
Der Abschnitt enthält Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf x86-basierten Systemen, die von Windows XP und höher unterstützt werden. |
.ntarm |
Der Abschnitt enthält Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf armbasierten Systemen, die von Windows 8 und höher unterstützt werden. |
.ntarm64 |
Der Abschnitt enthält Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf Arm64-basierten Systemen, die von Windows 10 Version 1709 und höher unterstützt werden. |
.Nt |
In Versionen von Windows vor Windows Server 2003 SP1 enthält der Abschnitt Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf allen Systemen, die vom Betriebssystem unterstützt werden. Ab Windows Server 2003 SP1 enthält der Abschnitt Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf x86-basierten Systemen, die vom Betriebssystem unterstützt werden. |
(keine Plattformerweiterung) |
In Versionen von Windows vor Windows Server 2003 SP1 enthält der Abschnitt Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf allen Systemen, die vom Betriebssystem unterstützt werden. Ab Windows Server 2003 SP1 enthält der Abschnitt Anweisungen zum Installieren eines Geräts oder einer Reihe von gerätekompatiblen Modellen auf x86-basierten Systemen, die vom Betriebssystem unterstützt werden. |
Unter Windows Server 2003 Service Pack 1 (SP1) und höher müssen INF-Dateien Einträge im Abschnitt INF-Modelle mit den Plattformerweiterungen .ntia64, .ntarm, .ntarm64 oder .ntamd64versehen werden, um Nicht-x86-Zielbetriebssystemversionen anzugeben. Diese Plattformerweiterungen sind in INF-Dateien für x86-basierte Zielbetriebssystemversionen nicht erforderlich, werden jedoch dringend empfohlen. Die gleiche Plattformerweiterungsdekoration oder .nt-Plattformerweiterung ist in allen anderen Abschnitten, die Plattformerweiterungen unterstützen, optional.
Hinweis
Es wird dringend empfohlen, Einträge im Abschnitt INF-Modelle immer mit Plattformerweiterungen für Zielbetriebssysteme von Windows XP und höheren Versionen von Windows zu dekorieren. Bei x86-basierten Hardwareplattformen sollten Sie die Verwendung der .nt-Plattformerweiterung vermeiden und stattdessen .ntx86 verwenden.
Für Abschnitte, die optionale Plattformerweiterungen unterstützen, wählt Windows den zu verarbeitenden Abschnitt wie folgt aus:
Windows sucht nach einem Abschnitt "section-name.nt<architecture>" und verarbeitet ihn, sofern vorhanden. Windows sucht in der verarbeiteten INF-Datei und in allen enthaltenen INF-Dateien (d. h. allen INF-Dateien, die in Include-Einträgen enthalten sind) auf die Architekturerweiterung> .nt<.
Wenn kein Abschnitt "section-name.nt<architecture>" vorhanden ist, sucht Windows nach einem Abschnitt "section-name.nt" in der INF-Datei oder auf alle enthaltenen INF-Dateien. Falls vorhanden, verarbeitet Windows den Abschnitt section-name.nt.
Wenn kein Abschnitt "section-name.nt" vorhanden ist, verarbeitet Windows einen Abschnitt mit einem Abschnittsnamen, der keine Plattformerweiterung enthält.
In Abschnitten, in denen die Architekturplattformenerweiterungen> ".nt" und ".nt<" optional sind, besteht der einfachste Ansatz zum Erstellen und Verwalten einer plattformübergreifenden System-INF-Datei darin, keine Plattformerweiterungen für diese Abschnittsnamen zu verwenden und die Architekturerweiterung> .nt< nur in die Namen der Abschnittsabschnitte von INF-Modellen aufzunehmen. Dies setzt jedoch voraus, dass die INF-Datei keine architekturspezifischen Versionen von Dateien kopieren muss und dass die Installationseinstellungen architekturübergreifend identisch sind. Erweiterte Szenarien für plattformübergreifende INFs finden Sie unter Kombinieren von Plattformerweiterungen mit anderen Abschnittsnamenerweiterungen.
Gehen Sie wie folgt vor, um eine solche einfache plattformübergreifende INF-Datei zu erstellen:
Erstellen Sie eine gültige INF-Datei, die die generischen Einträge enthält, die in allen INF-Dateien erforderlich sind, wie unter Allgemeine Richtlinien für INF-Dateien beschrieben.
Fügen Sie einen INF-Herstellerabschnitt ein, der einen Herstellerbezeichner enthält, der den InF-Modellabschnittsnamen für das Gerät angibt und die Erweiterung .nt-Architekturplattform<> angibt. Im folgenden Abschnitt Hersteller wird beispielsweise der InF-Modellabschnittsname "AbcModelSection" für ein Abc-Gerät und die <Nt-Architekturplattformerweiterung> angegeben.
[Manufacturer] ; The manufacturer-identifier for the Abc device. %ManufacturerName%=AbcModelSection,nt<architecture>
Schließen Sie einen Models.nt-Architekturabschnitt<> ein, dessen Name mit dem Abschnittsnamen models übereinstimmt, der vom Herstellerbezeichner im Abschnitt Hersteller angegeben wird. Der folgende AbcModelSection.nt-Architekturabschnitt<> für ein Abc-Gerät enthält beispielsweise eine Gerätebeschreibung, die den Installationsabschnittsnamen "AbcInstallSection" angibt.
[AbcModelSection.nt<architecture>] %AbcDeviceName%=AbcInstallSection,Abc-hw-id
Fügen Sie einen DDInstall-Abschnitt ein, dessen Name mit dem im Abschnitt Models angegebenen Installationsabschnittsnamen übereinstimmt. Die Gerätebeschreibung in einem AbcModelSection-Abschnitt gibt beispielsweise den folgenden AbcInstallSection-Abschnitt für ein Abc-Gerät an.
[AbcInstallSection] ; Install section entries go here. ...
Schließen Sie andere gerätespezifische Abschnitte ein, die für die Installation des Geräts erforderlich sind, aber keine .nt-Architekturplattformerweiterung<> in den Namen dieser Abschnitte enthalten. Weitere Informationen zu INF-Dateiabschnitten und -direktiven finden Sie unter Zusammenfassung der INF-Abschnitte und Zusammenfassung der INF-Anweisungen.