Abschnitt INF DDInstall

Jeder DDInstall-Abschnitt pro Modelle enthält eine optionale DriverVer-Direktive und eine oder mehrere Anweisungen, die auf zusätzliche benannte Abschnitte in der INF-Datei verweisen, die hier mit den am häufigsten angegebenen INF-Direktiven , CopyFiles und AddReg, aufgeführt sind.

Die Abschnitte, auf die von diesen Anweisungen verwiesen wird, enthalten Anweisungen zum Installieren von Treiberdateien und zum Schreiben von gerätespezifischen und/oder treiberspezifischen Informationen in die Registrierung.

[install-section-name] | 
[install-section-name.nt] | 
[install-section-name.ntx86] | 
[install-section-name.ntia64] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64] | (Windows XP and later versions of Windows)
[install-section-name.ntarm] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64] (Windows 10 version 1709 and later versions of Windows)

[DriverVer=mm/dd/yyyy[,x.y.v.z]]
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...] (Windows XP and later versions of Windows)
[AddReg=add-registry-section[,add-registry-section]...]
[AddProperty=add-property-section[,add-property-section]...] (Windows Vista and later versions of Windows)
[Include=filename1.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[Delfiles=file-list-section[,file-list-section]...]
[Renfiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...]
[DelProperty=del-property-section[,del-property-section]...] (Windows Vista and later versions of Windows)
[FeatureScore=featurescore]... (Windows Vista and later versions of Windows)
[BitReg=bit-registry-section[,bit-registry-section]...]
[LogConfig=log-config-section[,log-config-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...] (Windows 2000 and later versions of Windows)
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
[RegisterDlls=register-dll-section[,register-dll-section]...]
[UnregisterDlls=unregister-dll-section[,unregister-dll-section]...]
[ExcludeID=device-identification-string[,device-identification-string]...]... ((Windows XP and later versions of Windows)
[Reboot]

Einträge

Nicht alle gültigen Einträge werden in einem universellen INF unterstützt. Im Folgenden wird aufgelistet, welche Anweisungen in einem universellen INF gültig sind und welche nicht.

Unterstützt in einem universellen INF

DriverVer=mm/tt/yyyy[,x.y.v.z]
Dieser optionale Eintrag gibt Versionsinformationen für das Treiberpaket an.

Informationen zum Angeben dieses Eintrags finden Sie unter INF DriverVer-Direktive.

CopyFiles=@filename | file-list-section[,file-list-section] ...
Diese Direktive gibt entweder eine benannte Datei an, die von den Quellmedien auf das Ziel kopiert werden soll, oder verweist auf einen oder mehrere inF-Writer-definierte Abschnitte, in denen geräterelevante Dateien auf dem Quellmedium für die Übertragung an das Ziel angegeben werden. Die CopyFiles-Direktive ist optional, aber in den meisten DDInstall-Abschnitten vorhanden.

Der DefaultDestDir-Eintrag im Abschnitt DestinationDirs des INF gibt das Ziel für jede einzelne Datei an, die kopiert werden soll. Die Abschnitte SourceDisksNames und SourceDisksFiles oder ein zusätzliches INF, das im Abschnitt LayoutFile des Abschnitts Version dieses INF angegeben ist, geben den Speicherort auf dem Verteilungsmedium der Treiberdateien an.

Weitere Informationen finden Sie unter INF CopyFiles-Direktive.

CopyINF=filename1.inf[,filename2.inf]...
(Windows XP und höher) Diese Anweisung bewirkt, dass angegebene INF-Dateien in das Zielsystem kopiert werden.

Weitere Informationen finden Sie unter INF CopyINF-Direktive.

AddReg=add-registry-section[,add-registry-section]...
Diese Direktive verweist auf einen oder mehrere inF-Writer-definierte Abschnitte, in denen neue Unterschlüssel, möglicherweise mit Anfangswerteinträgen, zum Schreiben in die Registrierung angegeben werden oder in denen die Werteinträge vorhandener Schlüssel geändert werden.

Eine HKR-Spezifikation in einem solchen Add-Registry-Abschnitt gibt den Registrierungspfad "Softwareschlüssel" des installierten Geräts an.

Weitere Informationen finden Sie unter INF AddReg-Direktive.

AddProperty=add-property-section[,add-property-section]...
(Windows Vista und höher) Verweist auf einen oder mehrere INF-Dateiabschnitte, die Geräteeigenschaften ändern, die für ein Gerät instance festgelegt sind. Sie sollten eine INF AddProperty-Direktive nur verwenden, um ein Gerät instance Eigenschaft festzulegen, die für Windows Vista oder höhere Versionen von Windows-Betriebssystemen neu ist.

Für Geräte instance Eigenschaften, die zuvor unter Windows Server 2003, Windows XP oder Windows 2000 eingeführt wurden und die entsprechende Registrierungseintragswerte aufweisen, sollten Sie weiterhin INF AddReg-Direktiven verwenden, um das Gerät instance Eigenschaften festzulegen. Diese Richtlinien gelten für systemdefinierte Eigenschaften und benutzerdefinierte Eigenschaften. Weitere Informationen zur Verwendung der AddProperty-Direktive finden Sie unter Verwenden der INF-AddProperty-Direktive und der INF DelProperty-Direktive.

Include=filename1.inf[,filename2.inf]...
Dieser optionale Eintrag gibt eine oder mehrere zusätzliche vom System bereitgestellte INF-Dateien an, die Abschnitte enthalten, die zum Installieren dieses Geräts und/oder Treibers erforderlich sind. Wenn dieser Eintrag angegeben wird, ist dies in der Regel ein Eintrag Erforderlich .

Beispielsweise können INF-Dateien für Gerätetreiber, die von der Kernelstreamingunterstützung des Systems abhängen, diesen Eintrag wie folgt angeben:

Include= ks.inf, kscaptur.inf, ksfilter.inf

Needs=inf-section-name[,inf-section-name]...
Dieser optionale Eintrag gibt Abschnitte innerhalb der vom System bereitgestellten INF-Dateien an, die während der Installation dieses Geräts verarbeitet werden müssen. In der Regel ist ein solcher benannter Abschnitt ein DDInstall (oder DDInstall).xxx) in einer der INF-Dateien, die in einem Include-Eintrag aufgeführt sind. Es kann jedoch ein beliebiger Abschnitt sein, auf den in einem solchen DDInstall- oder DDInstall-Objekt verwiesen wird.xxx-Abschnitt des enthaltenen INF.

Beispielsweise können INF-Dateien für Gerätetreiber mit dem vorherigen Include-Eintrag diesen Eintrag wie folgt angeben:

Needs= KS.Registration, KSCAPTUR.Registration.NT, MSPCLOCK.Installation

FeatureScore=featurescore

Warnung

Die FeatureScore-Direktive wird nur verarbeitet, wenn sie direkt im Abschnitt [DDInstall] angegeben wird.

(Windows Vista und höher) Diese Direktive bietet ein zusätzliches Rangfolgekriterium für Treiber, die auf den Features basieren, die ein Treiber unterstützt. Beispielsweise können Featurebewertungen für eine Geräteeinrichtungsklasse definiert werden, die nach klassenspezifischen Kriterien zwischen Treibern unterscheidet.

Weitere Informationen zur Rangfolge von Treibern finden Sie unter So rangieren Windows-Treiber (Windows Vista und höher).

Weitere Informationen zu dieser Direktive finden Sie unter INF FeatureScore-Direktive.

Hinweis

Obwohl ein DDInstall-Abschnitt mehrere FeatureScore-Einträge enthalten kann, wird nur der erste Eintrag für den Abschnitt verarbeitet.

ExcludeID=device-identification-string[,device-identification-string]...

Warnung

Die ExcludeID-Direktive wird nur verarbeitet, wenn sie direkt im Abschnitt [DDInstall] angegeben wird.

(Windows XP und höher) Diese Direktive gibt mindestens eine Geräteidentifikationszeichenfolge ( Hardware-IDs oder kompatible IDs) an. Im Abschnitt DDInstall werden keine Geräte mit Geräte-IDs installiert, die mit einer der aufgeführten Hardware-IDs oder kompatiblen IDs übereinstimmen.

Neustart
Diese Anweisung gibt an, dass der Aufrufer aufgefordert werden soll, das System nach Abschluss der Installation neu zu starten.

Weitere Informationen finden Sie unter INF-Neustart-Direktive.

In einem universellen INF nicht unterstützt

Delfiles=file-list-section[,file-list-section]...
Diese Direktive verweist auf einen oder mehrere INF-Writer-definierte Abschnitte, die Dateien für das zu löschende Ziel enthalten.

Weitere Informationen finden Sie unter INF DelFiles-Direktive.

Renfiles=file-list-section[,file-list-section]...
Diese Direktive verweist auf einen oder mehrere INF-Writer-definierte Abschnitte, in denen Dateien aufgeführt werden, die am Ziel umbenannt werden sollen, bevor geräterelevante Quelldateien auf den Zielcomputer kopiert werden.

Weitere Informationen finden Sie unter INF RenFiles-Direktive.

DelReg=del-registry-section[,del-registry-section]...
Diese Direktive verweist auf einen oder mehrere inF-Writer-definierte Abschnitte, in denen Schlüssel und/oder Werteinträge angegeben werden, die während der Installation der Geräte aus der Registrierung entfernt werden sollen.

In der Regel wird diese Direktive verwendet, um Upgrades zu verarbeiten, wenn ein INF alte Registrierungseinträge aus einer früheren Installation dieses Geräts sauber muss.

Eine HKR-Spezifikation in einem solchen Abschnitt "delete-registry" gibt den Registrierungspfad "Softwareschlüssel" des installierten Geräts an.

Weitere Informationen finden Sie unter INF DelReg-Direktive.

DelProperty=del-property-section[,del-property-section]...
(Windows Vista und höher) Verweist auf einen oder mehrere INF-Dateiabschnitte, in denen Geräteeigenschaften gelöscht werden, die für ein Gerät instance festgelegt sind. Sie sollten eine INF DelProperty-Direktive nur verwenden, um ein Gerät instance Eigenschaft zu löschen, die für Windows Vista oder höhere Versionen von Windows neu ist.

Für Geräte instance Eigenschaften, die zuvor unter Windows Server 2003, Windows XP oder Windows 2000 eingeführt wurden und die entsprechende Registrierungseintragswerte aufweisen, sollten Sie weiterhin INF DelReg-Direktiven verwenden, um das Gerät instance Eigenschaften zu löschen. Diese Richtlinien gelten für systemdefinierte Eigenschaften und benutzerdefinierte Eigenschaften. Weitere Informationen zur Verwendung der DelProperty-Direktive finden Sie unter Verwenden der INF-AddProperty-Direktive und der INF DelProperty-Direktive.

BitReg=bit-registry-section[,bit-registry-section]...
Diese Direktive verweist auf einen oder mehrere inF-Writer-definierte Abschnitte, in denen vorhandene Registrierungswerteinträge vom Typ REG_BINARY geändert werden.

Eine HKR-Spezifikation in einem solchen Abschnitt für die Bitregistrierung gibt den Registrierungspfad "Softwareschlüssel" des installierten Geräts an.

Weitere Informationen finden Sie unter INF BitReg-Direktive.

LogConfig=log-config-section[,log-config-section]...
Diese Direktive verweist auf einen oder mehrere inF-Writer-definierte Abschnitte innerhalb eines INF für ein root-enumeriertes Gerät oder ein manuell installiertes Gerät. In diesen benannten Abschnitten gibt der INF für ein solches "erkanntes" oder manuell installiertes Gerät eine oder mehrere logische Konfigurationen von busrelativen Hardwareressourcen an, die das Gerät betriebsbereit sein muss. Der INF für ein so manuell installiertes Gerät, das nicht softwarekonfigurierbar ist, sollte ebenfalls über einen DDInstall verfügen. FactDef-Abschnitt .

Die LogConfig-Anweisung wird nie verwendet, um Plug & Play -Geräte (PnP) zu installieren. Sie können jedoch einen INF-Abschnitt DDInstall.LogConfigOverride verwenden, um eine Überschreibungskonfiguration für PnP-Geräte bereitzustellen.

Diese Anweisung ist für alle übergeordneten (nicht installierten) Treiber und Komponenten irrelevant.

Weitere Informationen finden Sie unter INF LogConfig-Direktive.

ProfileItems=profile-items-section[,profile-items-section]...
(Microsoft Windows 2000 und höhere Versionen von Windows) Diese selten verwendete Direktive verweist auf einen oder mehrere inF-writer-definierte Abschnitte, in denen Elemente beschrieben werden, die dem Startmenü hinzugefügt oder daraus entfernt werden sollen.

Weitere Informationen finden Sie unter INF ProfileItems-Direktive.

UpdateInis=update-ini-section[,update-ini-section]...
Diese selten verwendete Direktive verweist auf einen oder mehrere INF-Writer-definierte Abschnitte und gibt eine INI-Quelldatei an, aus der ein bestimmter Abschnitt oder eine bestimmte Zeile in einem solchen Abschnitt während der Installation in eine ZIEL-INI-Datei mit demselben Namen gelesen werden soll. Optional können Zeilen-für-Zeile-Änderungen an einer vorhandenen INI-Datei auf dem Ziel aus einer angegebenen Quell-INI-Datei mit demselben Namen im Abschnitt update-ini angegeben werden.

Weitere Informationen finden Sie unter INF UpdateInis-Direktive.

UpdateIniFields=update-inifields-section[,update-inifields-section]...
Diese selten verwendete Direktive verweist auf einen oder mehrere inF-writer-definierte Abschnitte, in denen Änderungen in den Zeilen einer gerätespezifischen INI-Datei angegeben werden.

Weitere Informationen finden Sie unter INF UpdateIniFields-Direktive.

Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
Diese selten verwendete Direktive verweist auf einen oder mehrere inF-writer-definierte Abschnitte, in denen Abschnitte oder Zeilen aus einer gerätespezifischen INI-Datei, die auf dem Quellmedium bereitgestellt wird, in die Registrierung verschoben werden sollen.

Weitere Informationen finden Sie unter INF Ini2Reg-Direktive.

RegisterDlls=register-dll-section[,register-dll-section]...
Diese Direktive verweist auf einen oder mehrere INF-Abschnitte, die verwendet werden, um Dateien anzugeben, die OLE-Steuerelemente sind und eine Selbstregistrierung erfordern.

Weitere Informationen finden Sie unter INF RegisterDlls-Direktive.

UnregisterDlls=unregister-dll-section[,unregister-dll-section]...
Diese Direktive verweist auf einen oder mehrere INF-Abschnitte, die verwendet werden, um Dateien anzugeben, die OLE-Steuerelemente sind und eine Selbstregistrierung (Selbstentfernung) erfordern.

Weitere Informationen finden Sie unter INF UnregisterDlls-Direktive.

Hinweise

In der gesamten Dokumentation zum Windows Driver Kit (WDK) wird der Begriff DDInstall verwendet, um auf einen Installationsabschnittsnamen mit oder ohne Plattformerweiterungen zu verweisen. Daher bedeutet "Abschnitt DDInstall" "ein benannter Abschnitt innerhalb eines INF mit dem Format [install-section-name] oder [install-section-name.ntxxx]". Wenn Sie Namen für DDInstall-Abschnitte erstellen, sollten Sie ein gerätespezifisches Präfix wie [WDMPNPB003_Device] oder [GPR400] einschließen. Install.NT].

Auf jeden DDInstall-Abschnitt muss in einem geräte-/modellspezifischen Eintrag unter dem abschnitt inf-Modelle pro Hersteller der INF-Datei verwiesen werden.

Mit Ausnahme von Geräten, denen keine dateien zugeordnet sind, die vom Quellmedium übertragen werden sollen, muss eine INF-Datei, die einen WDM-Treiber auf verschiedenen Betriebssystemplattformen installiert, mindestens einen der folgenden DDInstall-Abschnitte aufweisen:

  • Ein Abschnitt install-section-name.ntx86, der die Einträge für Geräte-/Treiberinstallationen speziell für x86-basierte Plattformen angibt.
  • Ein Abschnitt install-section-name.ntia64, der die Einträge für Geräte-/Treiberinstallationen angibt, die für Itanium-basierte Plattformen spezifisch sind.
  • Ein Abschnitt install-section-name.ntamd64, der die Einträge für Geräte-/Treiberinstallationen speziell für x64-basierte Plattformen angibt.
  • Ein Abschnitt install-section-name.ntarm, der die Einträge für Geräte-/Treiberinstallationen speziell für Arm-basierte Plattformen angibt.
  • Ein Abschnitt install-section-name.ntarm64, der die Einträge für Geräte-/Treiberinstallationen speziell für Arm64-basierte Plattformen angibt.
  • Ein Abschnitt install-section-name oder install-section-name.nt, der die Einträge für Geräte-/Treiberinstallationen angibt, die nicht für eine bestimmte Hardwareplattform spezifisch sind.

Weitere Informationen zur Verwendung der systemdefinierten Erweiterungen .nt, .ntx86, .ntia64, .ntamd64, .ntarm und .ntarm64 finden Sie unter Erstellen von INF-Dateien für mehrere Plattformen und Betriebssysteme.

Ab Windows 2000 muss eine INF-Datei, die Treiber installiert, über DDInstall.Services-Abschnitte verfügen, um Treiberdienstinformationen anzugeben.

Jede Direktive in einem DDInstall-Abschnitt kann auf mehr als einen Abschnittsnamen verweisen. Jeder zusätzliche benannte Abschnitt muss jedoch vom nächsten durch ein Komma (,) getrennt werden.

Jeder Abschnittsname 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.

Es wird davon ausgegangen, dass jede addReg-Direktive , die in einem DDInstall-Abschnitt angegeben ist, auf einen Add-Registry-Abschnitt verweist, der nicht zum Speichern von Informationen zu Treibern mit oberem oder unterem Filter, zu Multifunktionsgeräten oder zu treiberunabhängigen, aber gerätespezifischen Parametern verwendet werden kann. Wenn ein Geräte-/Treiber-INF diese Art von Informationen in der Registrierung speichern muss, muss es eine AddReg-Direktive in seinem nicht ergänzten und ergänzten DDInstall verwenden. HW-Abschnitte, falls vorhanden, um auf einen anderen inF-writer-defined add-registry-abschnitt zu verweisen.

Abhängig von der Gerätesetupklasse , die im Abschnitt INF-Version angegeben wurde, können zusätzliche klassenspezifische Anweisungen in einem DDInstall-Abschnitt angegeben werden. Weitere Informationen zu klassenspezifischen Direktiven finden Sie in den folgenden Themen:

Beispiele

Dieses Beispiel zeigt die Erweiterung der Abschnitte DDInstall , Ser_Inst und Inp_Inst. Auf diese Abschnitte wird im Beispiel für den Abschnitt INF-Modelle verwiesen.

[Ser_Inst]
CopyFiles=Ser_CopyFiles, mouclass_CopyFiles

[Ser_CopyFiles]
sermouse.sys

[mouclass_CopyFiles] ; section name referenced by > 1 CopyFiles
mouclass.sys

[Inp_Inst]
CopyFiles=Inp_CopyFiles, mouclass_CopyFiles

[Inp_CopyFiles]
inport.sys

Das folgende Beispiel zeigt den Abschnitt DDInstall einer INF-Datei, die einen vom System bereitgestellten WDM-Treiber für ein Audiogerät auf verschiedenen Betriebssystemplattformen installiert:

[WDMPNPB003_Device.NT]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration.NT
CopyFiles=MSSB16.CopyList
AddReg=WDM_SB16.AddReg

Das folgende Beispiel zeigt die Abschnitte, auf die der vorangehende Eintrag "Needs" in den vom System bereitgestellten Dateien "ks.inf " und " wdmaudio.inf " verweist. Im vorherigen Beispiel werden diese Dateien im Eintrag Includes angegeben. Wenn das Geräteinstallationsprogramm des Betriebssystems den Installationsabschnittsnamen dieses Geräts verarbeitet. nt section, diese beiden nächsten Abschnitte werden ebenfalls verarbeitet.

[KS.Registration]
; following AddReg= is actually a single line in the ks.inf file
AddReg=ProxyRegistration,CategoryRegistration,\
    TopologyNodeRegistration,PlugInRegistration,PinNameRegistration,\
    DeviceRegistration 
CopyFiles=KSProxy.Files,KSDriver.Files

[WDMAUDIO.Registration.NT]
AddReg=WDM.AddReg
CopyFiles=WDM.CopyFiles.Sys, WDM.CopyFiles.Drv
;
; INF-writer-defined add-registry and file-list sections
; referenced by preceding directives are omitted here for brevity
;

Weitere Informationen

Addproperty

DDInstall. CoInstaller

DDInstall. FactDef

DDInstall. HW

DDInstall. Schnittstellen

DDInstall. LogConfigOverride

DDInstall. Dienstleistungen

Defaultinstall

DefaultInstall.Services

DelProperty

FeatureScore