INF DelFiles-Direktive

Achtung

Wenn Sie ein universelles Oder Windows-Treiberpaket erstellen, ist diese Direktive ungültig. Weitere Informationen finden Sie unter Verwenden einer universellen INF-Datei und Erste Schritte mit Windows-Treibern.

Eine DelFiles-Direktive verweist an anderer Stelle in der INF-Datei auf einen inF-Writer definierten Abschnitt und bewirkt, dass diese Liste der Dateien im Kontext von Vorgängen in dem Abschnitt gelöscht wird, in dem die verweisende DelFiles-Direktive angegeben ist.

[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) 
  
Delfiles=file-list-section[,file-list-section]... 

Eine DelFiles-Direktive kann in jedem der Abschnitte angegeben werden, die in der formalen Syntax-Anweisung angezeigt werden. Diese Direktive kann auch in jedem der folgenden inF-writer-definierten Abschnitte angegeben werden:

Jeder benannte Abschnitt, auf den von einer DelFiles-Direktive verwiesen wird, verfügt über einen oder mehrere Einträge der folgenden Form:

[file-list-section]
 
destination-file-name[,,,flag]
...

Ein Dateilistenabschnitt kann eine beliebige Anzahl von Einträgen in einer separaten Zeile enthalten.

Einträge

Name der Zieldatei
Gibt den Namen der Datei an, die aus dem Ziel gelöscht werden soll.

Geben Sie keine Datei an, die in einer CopyFiles-Direktive aufgeführt ist. Wenn eine Datei sowohl in einem Abschnitt mit Verweis auf CopyFiles als auch in einem DelFiles-Abschnitt aufgeführt ist und die Datei derzeit auf dem System mit einer gültigen Signatur vorhanden ist, kann das Betriebssystem den Kopiervorgang optimieren, aber den Löschvorgang ausführen. Dies ist sehr wahrscheinlich nicht das, was der INF-Writer beabsichtigte.

Hinweis

Sie können kein %strkey%-Token verwenden, um den Eintrag destination-file-name anzugeben. Weitere Informationen zu %strkey%-Token finden Sie im Abschnitt INF-Zeichenfolgen.

flag
Dieser optionale Wert kann einer der folgenden Sein, ausgedrückt in hexadezimaler Notation wie hier gezeigt, oder als Dezimalwert:

0x00000001 (DELFLG_IN_USE)
Löschen Sie die benannte Datei, möglicherweise nachdem sie während des Installationsvorgangs verwendet wurde.

Wenn Sie diesen Flagwert in einem INF festlegen, wird der Dateilöschvorgang in die Warteschlange eingereiht, bis das System neu gestartet wurde, wenn die angegebene Datei nicht gelöscht werden kann, da sie während der Verarbeitung dieses INF verwendet wird. Andernfalls wird eine solche Datei nicht gelöscht.

0x00010000 (DELFLG_IN_USE1) (Windows 2000 oder höher)
Dieses Flag ist eine high-word-Version des DELFLG_IN_USE Flags und hat den gleichen Zweck und die gleiche Wirkung. Dieses Flag sollte in nur für Installationen auf NT-basierten Systemen verwendet werden.

Das Festlegen dieses Flagwerts in einem INF verhindert Konflikte mit dem COPYFLG_WARN_IF_SKIP-Flag in einem INF mit delFiles - und CopyFiles-Direktiven , die auf denselben file-list-section verweisen.

Hinweise

Wichtig

Diese Direktive muss sorgfältig verwendet werden. Es wird dringend empfohlen, die DelFiles-Direktive in der INF-Datei für einen PnP-Funktionstreiber (Plug & Play) nicht zu verwenden.

Jeder Dateilistenabschnittsname muss für die INF-Datei eindeutig sein, aber er kann von CopyFiles-, DelFiles- oder RenFiles-Direktiven an anderer Stelle im selben INF referenziert werden. Ein solcher inF-Writer definierter Abschnittsname muss den allgemeinen Regeln zum Definieren von Abschnittsnamen entsprechen. Weitere Informationen zu diesen Regeln finden Sie unter Allgemeine Syntaxregeln für INF-Dateien.

Die DelFiles-Direktive unterstützt nicht das Dekorieren eines Dateilistenabschnittsnamens mit einer systemdefinierten Plattformerweiterung (.nt, .ntx86, .ntia64, .ntamd64, .ntarm oder .ntarm64).

Der Abschnitt DestinationDirs der INF-Datei steuert das Ziel für alle Dateilöschvorgänge, unabhängig vom Abschnitt, der eine bestimmte DelFiles-Direktive enthält. Wenn ein benannter Abschnitt, auf den von einer DelFiles-Direktive verwiesen wird, über einen entsprechenden Eintrag im Abschnitt DestinationDirs desselben INF verfügt, gibt dieser Eintrag explizit das Zielzielverzeichnis an, aus dem alle im benannten Abschnitt aufgeführten Dateien gelöscht werden. Wenn der benannte Abschnitt nicht im Abschnitt DestinationDirs aufgeführt ist, verwendet Windows den Eintrag DefaultDestDir im INF.

Beispiele

Dieses Beispiel zeigt, wie der Abschnitt DestinationDirs den Pfad für einen Dateilöschvorgang angibt, der bei der Verarbeitung eines einfachen Gerätetreiber-INF auftritt.

[DestinationDirs]
DefaultDestDir = 12  ; DIRID_DRIVERS 

; ... 

[AHA154X]
CopyFiles=@AHA154x.MPD
DelFiles=ASPIDEV ; defines delete-files section name
; ... some other directives and sections omitted here

[ASPIDEV]
VASPID.SYS ; name of file to be deleted, if it exists on target 
; ...

Weitere Informationen

AddInterface

ClassInstall32

CopyFiles

DDInstall

DestinationDirs

InterfaceInstall32

RenFiles

Zeichenfolgen