ABSCHNITT "INF Manufacturer"

Im Abschnitt "Hersteller " wird der Hersteller eines oder mehrerer Geräte identifiziert, die mithilfe der INF-Datei installiert werden können.

[Manufacturer]

manufacturer-identifier
[manufacturer-identifier] 
[manufacturer-identifier] 
...

Entries

Hersteller-ID
Identifiziert einen Hersteller und einen INF-Abschnitt, der Informationen enthält, die die Gerätemodelle eines Herstellers identifizieren. Jeder Herstellerbezeichnereintrag muss in einer separaten Zeile vorhanden sein und das folgende Format verwenden:

manufacturer-name |
%strkey%=models-section-name |
%strkey%=models-section-name [,TargetOSVersion] [,TargetOSVersion] ...  (Windows XP and later versions of Windows)

Diese Einträge werden wie folgt definiert:

Herstellername
Identifiziert den Hersteller der Geräte. Die INF muss auch einen entsprechenden INF Models-Abschnitt mit demselben Namen enthalten. Die maximale Länge des Namens eines Herstellers in Zeichen ist LINE_LEN. (Ein auf diese Weise angegebener Eintrag kann nicht lokalisiert werden.)

Strkey
Gibt ein Token an, das innerhalb der INF-Datei eindeutig ist, die den Namen eines Herstellers darstellt. Jedes solche %strkey%-Token muss in einem INF-Zeichenfolgenabschnitt der INF-Datei definiert werden.

Models-Section-Name
Gibt einen INF-Writer-definierten Namen für den Abschnitt "INF Models pro Hersteller" in der INF-Datei an. Dieser Wert muss innerhalb der INF-Datei eindeutig sein und muss den allgemeinen Regeln zum Definieren von Abschnittsnamen entsprechen. Weitere Informationen zu diesen Regeln finden Sie unter Allgemeine Syntaxregeln für INF-Dateien.

TargetOSVersion
Gibt eine oder mehrere Zielbetriebssystemversionen an, mit denen verschiedene INF-Modelle-Abschnitte verwendet werden können. Windows wählt den Abschnitt "INF-Modelle " aus, der am ehesten mit der Betriebssystemversion übereinstimmt, auf der sie ausgeführt wird.

Eine Beschreibung der TargetOSVersion-Dekoration finden Sie im folgenden Abschnitt "Hinweise " und verwandte Informationen in Beispiel 3 unten.

Wichtig

Ab Windows Server 2003 SP1 müssen INF-Dateien Modelle-Abschnittsnameneinträge im Abschnitt "INF Manufacturer" sowie die zugehörigen INF Models-Abschnittsnamen für Nicht-x86-Zielbetriebssystemversionen versehen. Diese Plattformerweiterungen sind in INF-Dateien für x86-basierte Zielbetriebssystemversionen nicht erforderlich, werden jedoch empfohlen.

Hinweise

Jede INF-Datei, die mindestens ein Gerät installiert, muss über einen Herstellerabschnitt verfügen. Eine von IHV/OEM bereitgestellte INF-Datei gibt in der Regel nur einen einzelnen Eintrag in diesem Abschnitt an. Wenn mehrere Einträge angegeben werden, muss sich jeder Eintrag in einer separaten Zeile des INF befinden.

Die Verwendung eines %strkey%=Models-Section-Name-Eintrags vereinfacht die Lokalisierung der INF-Datei für den internationalen Markt, wie unter Creating International INF Files und der Referenzseite für den ABSCHNITT INF Strings beschrieben.

Wenn eine INF-Datei einen oder mehrere Einträge im Herstellernamenformat angibt, gibt jeder solche Eintrag implizit den Namen des entsprechenden Models-Abschnitts an anderer Stelle im INF an.

Sie können sich jeden vom System bereitgestellten Abschnitt "Hersteller" der INF-Datei als Inhaltsverzeichnis vorstellen, da in diesem Abschnitt die Installation der Gerätemodelle jedes Herstellers für eine Geräteeinrichtungsklasse eingerichtet wird. Jeder Eintrag im Abschnitt "Hersteller" einer INF-Datei gibt sowohl ein leicht lokalisierbares %strkey%-Token für den Namen eines Herstellers als auch einen eindeutigen InF-Abschnittsnamen pro Hersteller models an.

Die Modellabschnittsnameneinträge im Abschnitt "Hersteller " können so eingerichtet werden, dass Zielbetriebssystemversionen angegeben werden. Für verschiedene Versionen des Betriebssystems können verschiedene INF-Modelle-Abschnitte angegeben werden. Die angegebenen Versionen geben Betriebssystemversionen an, mit denen die ABSCHNITTE INF Models verwendet werden. Wenn keine Versionen angegeben sind, verwendet Windows einen angegebenen Abschnitt "Modelle " für alle Versionen aller Betriebssysteme.

Für Windows XP zu Windows 10, Version 1511, lautet das Format der TargetOSVersion-Dekoration wie folgt:

NT[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.SuiteMask]]]]

Ab Windows 10, Version 1607 (Build 14310 und höher), lautet das Format der TargetOSVersion-Dekoration wie folgt:

NT[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.[SuiteMask][.[BuildNumber]]]]]

Jedes Feld wird wie folgt definiert:

NT
Gibt an, dass das Zielbetriebssystem NT-basiert. Windows 2000 und höhere Versionen von Windows sind alle NT-basiert.

Aufbau
Identifiziert die Hardwareplattform. Wenn angegeben, muss dies x86, ia64, amd64, Arm oder Arm64 sein.

Vor Windows Server 2003 SP1 kann der zugehörige ABSCHNITT "INF-Modelle" mit jeder Hardwareplattform verwendet werden, wenn die Architektur nicht angegeben ist.

Ab Windows Server 2003 SP1 muss die Architektur in den ABSCHNITTsnamen von INF-Modellen für Nicht-x86-Zielbetriebssystemversionen angegeben werden. Architektur ist in DEN ABSCHNITTsnamen von INF-Modellen für x86-basierte Zielbetriebssystemversionen optional, wird jedoch empfohlen.

OSMajorVersion
Eine Zahl, die die Hauptversionsnummer des Betriebssystems darstellt. In der folgenden Tabelle wird die Hauptversion für das Windows-Betriebssystem definiert.

Hinweis

Um zwischen bestimmten Windows 10- und 11-Versionen in einer INF-Datei zu unterscheiden, müssen Sie BuildNumber verwenden (siehe unten).

Windows-Version Hauptversion
Windows 11 (alle Versionen) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10 (alle Versionen) 10
Windows Server 2012 R2 6
Windows 8,1 6
Windows Server 2012 6
Windows 8 6
Windows Server 2008 R2 6
Windows 7 6
Windows Server 2008 6
Windows Vista 6
Windows Server 2003 R2 5
Windows Server 2003 5
Windows XP 5
Windows 2000 5

OSMinorVersion
Eine Zahl, die die Nebenversionsnummer des Betriebssystems darstellt. In der folgenden Tabelle wird die Nebenversion für das Windows-Betriebssystem definiert.

Windows-Version Nebenversion
Windows 11 (alle Versionen) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10 (alle Versionen) 0
Windows Server 2012 R2 3
Windows 8,1 3
Windows Server 2012 2
Windows 8 2
Windows Server 2008 R2 1
Windows 7 1
Windows Server 2008 0
Windows Vista 0
Windows Server 2003 R2 2
Windows Server 2003 2
Windows XP 1
Windows 2000 0

ProductType
Eine Zahl, die eines der in Winnt.h definierten VER_NT_xxxx Flags darstellt, z. B. folgendes:

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

Wenn ein Produkttyp angegeben ist, wird die INF-Datei nur verwendet, wenn das Betriebssystem dem angegebenen Produkttyp entspricht. Wenn die INF mehrere Produkttypen für eine einzelne Betriebssystemversion unterstützt, sind mehrere TargetOSVersion-Einträge erforderlich.

SuiteMask
Eine Zahl, die eine Kombination aus einer oder mehreren der in Winnt.h definierten VER_SUITE_xxxx Flags darstellt. Diese Flags umfassen Folgendes:

0x00000001 (VER_SUITE_SMALLBUSINESS)

0x00000002 (VER_SUITE_ENTERPRISE)

0x00000004 (VER_SUITE_BACKOFFICE)

0x00000008 (VER_SUITE_COMMUNICATIONS)

0x00000010 (VER_SUITE_TERMINAL)

0x00000020 (VER_SUITE_SMALLBUSINESS_RESTRICTED)

0x00000040 (VER_SUITE_EMBEDDEDNT)

0x00000080 (VER_SUITE_DATACENTER)

0x00000100 (VER_SUITE_SINGLEUSERTS)

0x00000200 (VER_SUITE_PERSONAL)

0x00000400 (VER_SUITE_SERVERAPPLIANCE)

Wenn mindestens ein Suiteformatwert angegeben ist, wird der INF nur verwendet, wenn das Betriebssystem mit allen angegebenen Produktsuiten übereinstimmt. Wenn die INF mehrere Produktsuite-Kombinationen für eine einzelne Betriebssystemversion unterstützt, sind mehrere TargetOSVersion-Einträge erforderlich.

BuildNumber
Eine Zahl, die die mindeste Betriebssystembuildnummer der Windows-Version darstellt, auf die der Abschnitt anwendbar ist, beginnend mit Build 14310 oder höher.

Es wird davon ausgegangen, dass die Buildnummer nur relativ zu einer bestimmten Haupt-/Nebenversion des Betriebssystems ist und möglicherweise für zukünftige Haupt-/Nebenversion des Betriebssystems zurückgesetzt wird.

Jede durch die TargetOSVersion-Dekoration angegebene Buildnummer wird nur ausgewertet, wenn die Haupt-/Nebenversion des Betriebssystems der TargetOSVersion exakt mit der aktuellen Betriebssystemversion (oder AltPlatformInfo) übereinstimmt.  Wenn die aktuelle Betriebssystemversion größer als die durch die TargetOSVersion-Dekoration (OSMajorVersion,OSMinorVersion) angegebene Betriebssystemversion ist, wird der Abschnitt unabhängig von der angegebenen Buildnummer als anwendbar betrachtet. Ebenso gilt der Abschnitt nicht, wenn die aktuelle Betriebssystemversion kleiner als die durch TargetOSVersion-Dekoration angegebene Betriebssystemversion ist.

Wenn die Buildnummer angegeben wird, muss die Betriebssystemversion und buildNumber der TargetOSVersion-Dekoration sowohl größer als die Betriebssystemversion als auch die Buildnummer des Windows 10-Builds 14310 sein, in dem diese Dekoration zum ersten Mal eingeführt wurde. Frühere Versionen des Betriebssystems ohne diese Änderungen (z. B. Windows 10 Build 10240) analysieren keine unbekannten Dekorationen, sodass ein Versuch, diese früheren Builds zu verwenden, tatsächlich verhindert, dass das Betriebssystem überhaupt die gültige Dekoration berücksichtigt.

In der folgenden Tabelle wird die Buildnummer für das Windows-Betriebssystem definiert.

Windows-Version Build-Nummer
Windows 11, Version 23H2 22631
Windows 11, Version 22H2 22621
Windows 11, Version 21H2 22000
Windows Server 2022 20348
Windows 10, Version 22H2 19045
Windows 10, Version 21H2 19044
Windows 10, Version 21H1 19043
Windows 10, Version 20H2 19042
Windows 10, Version 2004 19041
Windows 10, Version 1909 18363
Windows 10, Version 1903 18362
Windows Server 2019 17763
Windows 10, Version 1809 17763
Windows 10, Version 1803 17134
Windows 10, Version 1709 16299
Windows 10, Version 1703 15063
Windows Server 2016 14393
Windows 10, Version 1607 14393

Weitere Informationen zur TargetOSVersion-Dekoration finden Sie unter Kombinieren von Plattformerweiterungen mit Betriebssystemversionen.

Wichtig

Es wird dringend empfohlen, dass Sie in den Abschnitten "Hersteller" und "Modelle" immer Einträge mit Plattformerweiterungen für Zielbetriebssysteme von Windows XP oder neueren Versionen von Windows XP versehen. Für x86-basierte Hardwareplattformen sollten Sie die Verwendung der . NT-Plattformerweiterung und -verwendung . Stattdessen NTx86 .

Wenn Ihr INF Abschnittseinträge des Herstellers mit Dekorationen enthält, muss es auch INF Models-Abschnitte mit Namen enthalten, die mit den Dekorationen des Betriebssystems übereinstimmen. Wenn z. B. ein INF den folgenden Abschnitt "Hersteller " enthält:

%FooCorp%=FooMfg, NTx86.... 0x80, NTamd64

Anschließend muss die INF-Modellabschnitte mit den folgenden Namen enthalten:

  • [FooMfg.NTx86.... 0x80]

    Dieser Name gilt für die Data Center-Suite von Windows XP und neueren Versionen von Windows auf x86-basierten Hardwareplattformen.

  • [FooMfg.NTamd64]

    Dieser Name gilt für alle Produkttypen und Suites von Windows XP und neueren Versionen von Windows auf x64-basierten Hardwareplattformen.

Während der Installation wählt Windows wie folgt einen ABSCHNITT "INF-Modelle" aus:

  1. Wenn Windows in einer x86-basierten Version des Betriebssystems (Windows XP oder höher) ausgeführt wird, die die Data Center-Produktsuite enthält, wählt Windows die [FooMfg.NTx86.... abschnitt "0x80] Models ".

  2. Wenn Windows in einer x64-basierten Version des Betriebssystems (Windows XP oder höher) für eine beliebige Produktsuite ausgeführt wird, wählt Windows den Abschnitt [FooMfg.NTamd64] Models aus.

Wenn die INF für die Verwendung mit Betriebssystemversionen vor Windows XP vorgesehen ist, muss sie auch einen abschnitt mit dem Namen "[FooMfg]" enthalten.

Wenn ein INF mehrere Hersteller unterstützt, müssen diese Regeln für jeden Hersteller befolgt werden.

Im Folgenden finden Sie weitere Beispiele für TargetOSVersion-Dekorationen :

  • %FooCorp% = FooMfg, NTx86

    In diesem Beispiel lautet der folgende Abschnittsname inF Models [FooMfg.NTx86], und gilt für jede x86-Version des Betriebssystems (Windows XP oder höher).

  • %FooCorp% = FooMfg, NT.7.8

    In diesem Beispiel für Version 7.8 und höher des Betriebssystems lautet der resultierende INF Models-Abschnittsname [FooMfg.NT.7.8]. Für frühere Versionen des Betriebssystems wie Windows XP wird [FooMfg.NT] verwendet.

Die Auswahl des zu verwendenden ABSCHNITTs "INF-Modelle" basiert auf den folgenden Regeln:

  • Wenn die INF-Modelle Abschnitte für mehrere Haupt- oder Nebenversionsnummern des Betriebssystems enthält, verwendet Windows den Abschnitt mit den höchsten Versionsnummern, die nicht höher als die Betriebssystemversion sind, auf der die Installation stattfindet.

  • Wenn die ABSCHNITTE INF-Modelle, die der Betriebssystemversion entsprechen, auch Produkttyp- und/oder Produktsuite-Dekorationen enthalten, wählt Windows den Abschnitt aus, der am ehesten mit dem ausgeführten Betriebssystem übereinstimmt.

Angenommen, Windows wird unter Windows XP (Version 5.1) ohne die Data Center-Produktsuite ausgeführt und findet den folgenden Eintrag im Abschnitt "Hersteller ":

%FooCorp%=FooMfg, NT, NT.5, NT.5.5, NT.... 0x80

In diesem Fall sucht Windows nach einem ABSCHNITT "INF Models" mit dem Namen [FooMfg.NT.5]. Windows verwendet auch den Abschnitt [FooMfg.NT.5], wenn er in einer Datacenter-Version von Windows XP ausgeführt wird, da eine bestimmte Versionsnummer Vorrang vor dem Produkttyp und der Suitemaske hat.

Wenn ein INF explizit eine bestimmte Betriebssystemversion, einen Produkttyp oder eine bestimmte Suite ausschließen soll, erstellen Sie einen leeren ABSCHNITT "INF Models". Ein leerer Abschnitt mit dem Namen [FooMfg.NTx86.6.0] verbietet beispielsweise die Installation auf x86-basierten Betriebssystemversionen 6.0 und höher.

Beispiele

Dieses Beispiel zeigt einen Herstellerabschnitt , der typisch für eine INF für ein einzelnes IHV ist.

[Manufacturer]
%Mfg%=Contoso,NTamd64        ; Models section == Contoso

[Contoso.NTamd64]

; ...
[Strings]
Mfg = "Contoso, Ltd."

Das nächste Beispiel zeigt einen Teil eines Herstellerabschnitts , der typisch für einen INF für ein gerätespezifisches Installationsprogramm ist:

[Manufacturer]
%CONTOSO%=Contoso_Section,NTamd64
; several entries omitted here for brevity
%FABRIKAM%=Fabrikam_Section,NTamd64
%ADATUM%=Adatum_Section,NTamd64

Das folgende Beispiel zeigt einen Herstellerabschnitt , der spezifisch für x86-Plattformen, Windows XP und höher ist:

[Manufacturer]
%foo%=foosec,NTx86.5.1

[foosec.NTx86.5.1]

Das folgende Beispiel zeigt einen Herstellerabschnitt , der spezifisch für x64-Plattformen, Windows 10 Build 14393 und höher ist:

[Manufacturer]
%foo%=foosec,NTamd64.10.0...14393

[foosec.NTamd64.10.0...14393]

Die folgenden beiden Beispiele zeigen Skeletal-INF-Dateien mit einer Vielzahl von OS-spezifischen INF Models-Abschnitten :

Beispiel 1:

[Manufacturer]
%MyName% = MyName,NTx86.5.1
.
[MyName]
%MyDev% = InstallA,hwid
.
[MyName.NTx86.5.1]
%MyDev% = InstallB,hwid
.
[InstallA]   ; Windows 2000 
.
.
[InstallB]   ; Windows XP and later, x86 only
.

Beispiel 2:

[Manufacturer]
%MyName% = MyName,NTx86.6.0,NTx86.5.1,
.
[MyName.NTx86.6.0] ; Empty section, so this INF does not support
.                  ; NT 6.0 and later.
.
[MyName.NTx86.5.1] ; Used for NT 5.1 and later
.                  ; (but not NT 6.0 and later due to the NTx86.6.0 entry)
%MyDev% = InstallB,hwid
.
[MyName]           ; Empty section, so this INF does not support
.                  ; Win2000
.

Beispiel 3:

[Manufacturer]
%MyMfg% = MyMfg, NTamd64.6.1, NTamd64.10.0, NTamd64.10.0...14310
.
[MyMfg.NTamd64.6.1]          ; Used for Windows 7 and later
.                            ; (but not for Windows 10 and later due to the NT.10.0 entry)
.
[MyMfg.NTamd64.10.0]         ; Used for Windows 10
.                            ; (but not for Windows 10 build 14393 and later due to the NT.10.0...14393 entry)
.
[MyMfg.NTamd64.10.0...14393] ; Used for Windows 10 build 14393 and later
.
.

Hinweis

Wenn Sie mehrere TargetOSVersions angeben, zeichenfolgen Sie sie in einem Eintrag zusammen, wie in diesem Beispiel dargestellt. Stellen Sie nicht jedes Ziel als separaten Eintrag dar.

Weitere Informationen

Kombinieren von Plattformerweiterungen mit Betriebssystemversionen

Modelle

Zeichenfolgen