INF UpdateInis Direktive
Achtung
Ab Windows 11 Version 22H2 ist ein Treiberpaket, das diese Direktive verwendet, nicht mehr für eine Signatur vom Hardware Developer Center geeignet.
Universelle Treiberpakete und Windows-Treiber können diese Direktive nicht verwenden.
Eine Direktive UpdateInis verweist auf einen oder mehrere benannte Abschnitte und gibt eine INI-Datei an, aus der ein bestimmter Abschnitt oder eine bestimmte Zeile gelesen und auf eine vorhandene INI-Datei mit demselben Namen auf dem Zielcomputer angewendet werden soll. Optional können in der Direktive update-ini-section zeilenweise Änderungen aus und an solchen INI-Dateien angegeben werden.
[DDInstall] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
UpdateInis=update-ini-section[,update-ini-section]...
Diese Direktive wird in INF-Dateien für die Installation unter Windows fast nie angegeben, da INI-Dateien nicht notwendig sind. Die Direktive UpdateInis ist jedoch in allen Abschnitten gültig, die in der formalen Syntaxanweisung aufgeführt sind, sowie in von INF-Autoren*innen definierten Abschnitten, auf die eine Direktive AddInterface verweist oder die in einem Abschnitt InterfaceInstall32 referenziert werden.
Jeder benannte Abschnitt, der von einer UpdateInis-Direktive referenziert wird, hat die folgende Form:
[update-ini-section]
ini-file,ini-section[,old-ini-entry][,new-ini-entry][,flags]
...
Ein update-ini-section kann eine beliebige, von INF-Autor*innen festgelegte Anzahl von Einträgen haben, die jeweils in einer eigenen Zeile stehen.
Entries
ini-file
Gibt den Namen einer INI-Datei an, die auf dem Quellmedium bereitgestellt wird, und implizit auch den Namen der INI-Datei, die auf dem Zielcomputer aktualisiert werden soll. Dieser Wert kann als filename oder als %strkey% Token ausgedrückt werden, das in einem Strings-Abschnitt der INF-Datei definiert ist.
ini-section
Gibt den Namen des Abschnitts innerhalb der angegebenen INI-Datei an. Wenn die nächsten beiden Werte angegeben sind, enthält dieser Abschnitt einen zu ändernden Eintrag. Wenn ein old-ini-entry weggelassen wird, aber ein new-ini-entry angegeben wird, soll der neue Eintrag hinzugefügt werden, wenn dieser Abschnitt gelesen wird.
old-ini-entry
Dieser optionale Wert gibt den Namen eines Eintrags in der angegebenen ini-section an, normalerweise in der folgenden Form ausgedrückt:
"key=value"
Einer oder beide von key und value können als %strkey% Token ausgedrückt werden, die in einem Strings-Abschnitt der INF-Datei definiert sind. Das Sternchen (*) kann als Wildcard entweder für key oder value angegeben werden.
new-ini-entry
Dieser optionale Wert gibt entweder eine Änderung an einem bestimmten old-ini-entry oder das Hinzufügen eines neuen Eintrags an. Dieser Wert kann auf die gleiche Weise ausgedrückt werden wie old-ini-entry.
flags
Dieser optionale Wert steuert die Interpretation des angegebenen old-ini-entry und/oder new-ini-entry. Der Eintrag flags kann einer der folgenden numerischen Werte sein:
Wert | Bedeutung |
---|---|
0 | Dies ist der Standardwert für den Eintrag flags, wenn er weggelassen wird. Wenn der angegebene Schlüssel old-ini-entry in den INI-Dateien vorhanden ist, ersetzen Sie diesen key=value durch den angegebenen new-ini-entry. Nur die Schlüssel in den INI-Dateien müssen übereinstimmen. Der entsprechende Wert eines jeden solchen Schlüssels wird ignoriert. Um der Ziel-INI-Datei einen neuen-ini-entry bedingungslos hinzuzufügen, lassen Sie den Wert old-ini-entry aus dem Eintrag im Abschnitt update-ini der INF weg. Um einen old-ini-entry bedingungslos aus der Ziel-INI-Datei zu löschen, lassen Sie den Wert new-ini-entry weg. |
1 | Wenn der angegebene old-ini-entry (key=value) in den INI-Dateien existiert, ersetzen Sie ihn in der Ziel-INI-Datei, die den angegebenen new-ini-entry hat. Sowohl key als auch value des angegebenen old-ini-entry müssen mit denen in den INI-Dateien übereinstimmen, damit eine solche Ersetzung vorgenommen werden kann, nicht nur deren Schlüssel wie bei dem vorhergehenden flags-Wert. |
2 | Wenn der key, der für old-ini-entry angegeben ist, in der Ziel-INI-Datei nicht gefunden wird, tun Sie nichts. Andernfalls hängen die vorgenommenen Änderungen von den Übereinstimmungen ab, die in den INI-Dateien für die angegebenen Schlüssel von old-ini-entry und new-ini-entry gefunden wurden, und zwar wie folgt: (1) Wenn der key des old-ini-entry in den INI-Dateien vorhanden ist, aber auch der key des new-ini-entry, wird in der Ziel-INI-Datei der old-ini-entry durch den new-ini-entry ersetzt und dann der überflüssige new-ini-entry aus dieser INI-Datei entfernt. (2) Wenn der key des old-ini-entry in den INI-Dateien vorhanden ist, der Schlüssel des new-ini-entry jedoch nicht, wird der old-ini-entry key durch den des new-ini-entry in der Ziel-INI-Datei ersetzt, der Wert des old-ini-entry jedoch unverändert gelassen. |
3 | Wenn key und value, die für old-ini-entry angegeben wurden, nicht in den INI-Dateien gefunden werden, wird nichts unternommen. Andernfalls hängen die vorgenommenen Änderungen von den Übereinstimmungen ab, die in den INI-Dateien für die angegebenen Schlüssel und Werte von old-ini-entry und new-ini-entry gefunden wurden, und zwar wie folgt: (1) Wenn key=value des old-ini-entry in den INI-Dateien vorhanden ist, der key=value des new-ini-entry jedoch nicht, wird in der Ziel-INI-Datei der old-ini-entry durch den new-ini-entry ersetzt und dann der überflüssige new-ini-entry aus dieser INI-Datei entfernt. (2) Wenn der key=value des old-ini-entry in den INI-Dateien vorhanden ist, der new-ini-entry aber nicht, wird der old-ini-entry in der Ziel-INI-Datei durch den new-ini-entry ersetzt, der Wert des old-ini-entry aber unverändert gelassen. |
Hinweise
Ein gegebener update-ini-section-Name muss innerhalb der INF-Datei eindeutig sein und den allgemeinen Regeln für die Definition von Abschnittsnamen entsprechen. Weitere Informationen zu diesen Regeln finden Sie unter Allgemeine Syntaxregeln für INF-Dateien.
Die INF-Datei gibt den vollständigen Pfad der angegebenen ini-file auf dem Distributionsmedium auf eine der folgenden Arten an:
In von IHV/OEM bereitgestellten INF-Dateien verwenden Sie die Abschnitte SourceDisksNames und SourceDisksFiles dieser INF, um explizit den vollständigen Pfad jeder benannten Quelldatei anzugeben, die sich nicht im Root-Verzeichnis (oder den Verzeichnissen) auf dem Distributionsmedium befindet.
In vom System bereitgestellten INF-Dateien, indem Sie eine oder mehrere zusätzliche INF-Dateien bereitstellen, die im Eintrag LayoutFile im Abschnitt Version der INF-Datei angegeben sind.
Jeder filename, der innerhalb eines old-ini-entry oder new-ini-entry angegeben wird, sollte das Zielverzeichnis bezeichnen, das diese Datei enthält. Ein solcher Zielverzeichnispfad eines filename in einem update-ini-section-Eintrag muss als dirid angegeben werden. Eine Liste der möglichen dirid-Werte finden Sie unter Verwendung von Dirids.