Abschnitt "INF-Hersteller"

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

[Manufacturer]

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

Einträge

Hersteller-Id
Identifiziert eindeutig 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 sind wie folgt definiert:

Herstellername
Gibt den Hersteller der Geräte an. Der INF muss auch einen entsprechenden Abschnitt für INF-Modelle mit demselben Namen enthalten. Die maximale Länge des Herstellernamens 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 und den Namen eines Herstellers darstellt. Jedes solche %strkey%-Token muss in einem ABSCHNITT "INF-Zeichenfolgen " der INF-Datei definiert werden.

models-section-name
Gibt einen inF-Writer definierten Namen für den Abschnitt herstellerspezifische INF-Modelle in der INF-Datei an. Dieser Wert muss innerhalb der INF-Datei eindeutig sein und 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 ABSCHNITTE von INF-Modellen verwendet werden können. Windows wählt den Abschnitt INF-Modelle aus, der der Betriebssystemversion, unter der es ausgeführt wird, am ehesten entspricht.

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

Wichtig

Ab Windows Server 2003 SP1 müssen INF-Dateien Einträge mit dem Modellabschnittsnamen im Abschnitt INF-Hersteller sowie die zugehörigen InF-Modelle-Abschnittsnamen für Nicht-x86-Zielbetriebssystemversionen dekorieren. 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 den Abschnitt Hersteller 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 Erstellen internationaler INF-Dateien und der Referenzseite für den Abschnitt INF-Zeichenfolgen beschrieben.

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

Sie können sich den Abschnitt Hersteller jeder systemseitig bereitgestellten INF-Datei als Inhaltsverzeichnis vorstellen, da in diesem Abschnitt die Installation der Gerätemodelle jedes Herstellers für eine Gerätesetupklasse 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 für Modelle pro Hersteller an.

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

Damit Windows XP Windows 10, Version 1511, hat das Format der TargetOSVersion-Dekoration folgendes Format:

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

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

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

Jedes Feld wird wie folgt definiert:

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

Architektur
Gibt die Hardwareplattform an. 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 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 INF-Modellabschnittsnamen 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 Releases in einer INF-Datei zu unterscheiden, müssen Sie BuildNumber verwenden (siehe unten).

Windows-Version Hauptversion
Windows 11 (alle Releases) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10 (alle Releases) 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 Releases) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10 (alle Releases) 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. die folgenden:

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

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

SuiteMask
Eine Zahl, die eine Kombination aus einem 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 Suite-Maskenwert angegeben ist, wird der INF nur verwendet, wenn das Betriebssystem mit allen angegebenen Produktsammlungen übereinstimmt. Wenn das INF mehrere Produktsammlungskombinationen für eine einzelne Betriebssystemversion unterstützt, sind mehrere TargetOSVersion-Einträge erforderlich.

BuildNumber
Eine Zahl, die die Mindestanzahl des Betriebssystembuilds der Windows-Version darstellt, für die der Abschnitt gilt, 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 eine zukünftige Haupt-/Nebenversion des Betriebssystems zurückgesetzt wird.

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

Wenn die Buildnummer angegeben wird, müssen die Betriebssystemversion und die Buildnummer der TargetOSVersion-Dekoration größer als die Betriebssystemversion und die Buildnummer des Windows 10 Build 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 als Ziel zu verwenden, dieses Betriebssystem daran hindert, die Dekoration überhaupt als gültig zu betrachten.

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

Windows-Version Buildnummer
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 die Namen von Modellen in den Abschnitten "Hersteller " und " Modelle " immer mit Plattformerweiterungen für Die Zielbetriebssysteme von Windows XP oder höheren Versionen von Windows versehen. Bei x86-basierten Hardwareplattformen sollten Sie die Verwendung von vermeiden . NT-Plattformerweiterung und verwenden . Stattdessen NTx86 .

Wenn Ihr INF Einträge im Abschnitt "Hersteller" mit Dekorationen enthält, muss es auch ABSCHNITTE mit INF-Modellen mit Namen enthalten, die den Betriebssystemdekorationen entsprechen. Beispielsweise, wenn ein INF den folgenden Abschnitt "Manufacturer " enthält:

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

Dann muss das INF-Modell auch Abschnitte mit den folgenden Namen enthalten:

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

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

  • [FooMfg.NTamd64]

    Dieser Name gilt für alle Produkttypen und -suites von Windows XP und höheren Versionen von Windows auf x64-basierten Hardwareplattformen.

Während der Installation wählt Windows den Abschnitt INF-Modelle wie folgt 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 [ FooMfg.NTx86.... aus. 0x80]Models-Abschnitt .

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

Wenn der INF für die Verwendung mit Betriebssystemversionen vor Windows XP vorgesehen ist, muss er auch einen abschnitt mit nicht ergänzten Modellen 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 resultierende InF-Modellabschnittsname[FooMfg.NTx86] und gilt für jede x86-Version des Betriebssystems (Windows XP oder höher).

  • %FooCorp% = FooMfg, NT.7.8

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

Die Auswahl des zu verwendenden INF-Modellabschnitts im Setup basiert auf den folgenden Regeln:

  • Wenn das INF-Modellabschnitte 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 für INF-Modelle , die der Betriebssystemversion entsprechen, auch Produkttyp und/oder Produktsuite-Dekorationen enthalten, wählt Windows den Abschnitt aus, der dem ausgeführten Betriebssystem am ehesten entspricht.

Angenommen, Windows wird beispielsweise unter Windows XP (Version 5.1) ohne die Data Center-Produktsammlung 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 MIT INF-Modellen mit dem Namen [FooMfg.NT.5]. Windows verwendet auch den Abschnitt [FooMfg.NT.5], wenn er unter einer Datacenter-Version von Windows XP ausgeführt wird, da eine bestimmte Versionsnummer Vorrang vor dem Produkttyp und der Suitemaske hat.

Wenn Sie möchten, dass ein INF eine bestimmte Betriebssystemversion, einen bestimmten Produkttyp oder eine bestimmte Suite des Betriebssystems explizit ausschließt, erstellen Sie einen leeren INF-Modellabschnitt. Beispielsweise verhindert ein leerer Abschnitt mit dem Namen [FooMfg.NTx86.6.0] die Installation unter x86-basierten Betriebssystemversionen 6.0 und höher.

Beispiele

Dieses Beispiel zeigt einen Abschnitt Manufacturer , der typisch für eine INF für eine einzelne IHV ist.

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

[Contoso.NTamd64]

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

Das nächste Beispiel zeigt einen Teil eines Abschnitts "Manufacturer ", der typisch für einen INF für ein geräteklassenspezifisches 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 Abschnitt "Manufacturer ", der für x86-Plattformen, Windows XP und höher spezifisch ist:

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

[foosec.NTx86.5.1]

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

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

[foosec.NTamd64.10.0...14393]

Die folgenden beiden Beispiele zeigen Skelett-INF-Dateien mit einer Vielzahl von betriebssystemspezifischen INF-Modellen :The following two examples show skeletal INF files with a variety of os-specific INF models sections:

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 diese in einem Eintrag zusammen, wie in diesem Beispiel gezeigt. Stellen Sie nicht jedes Ziel als separaten Eintrag dar.

Weitere Informationen

Kombinieren von Plattformerweiterungen mit Betriebssystemversionen

Modelle

Zeichenfolgen