InfVerif-Fehler 2084
Fehlerinformationen
Die folgende Fehlermeldung wird durch den Fehlercode 2084 generiert:
Service binary '<value>' should reference a CopyFiles destination file.
Dieser Fehler tritt auf, wenn eine in einer Servicemeldung angegebene Datei nicht Teil des Treiberpakets ist. InfVerif überprüft, ob für jede Dienstbinärdatei im Treiberpaket ein entsprechender Kopiervorgang für die Datei vorhanden ist.
Die Datei kann vollständig aus den CopyFiles-Direktiven dieser INF weggelassen werden. Sie kann aber auch für einige (nicht alle) Architekturen oder Betriebssystemversionen vorhanden sein. Stellen Sie sicher, dass sie für die Architektur und die Betriebssystemversion kopiert wird, in der der Fehler auftritt.
Ursachen
Typo
Eine häufige Ursache ist ein Tippfehler in der Deklaration für Dienstbinärdateien oder im Abschnitt „CopyFiles“.
[MyCopyFiles]
Binary1.sys
...
[MyServiceInstallSection]
ServiceBinary=%13%\Binar1y.sys
Im obigen Pfad zur Binärdatei ist ein Tippfehler enthalten, der Binar1y.sys
anstelle von Binary1.sys
angibt.
Binärdatei für den Posteingang
Einige Binärdateien für den Posteingang werden als Funktions- oder Filtertreiber für ein Gerät verwendet. In der Vergangenheit konnten diese Binärdateien direkt in einer Service-Deklaration verwendet werden. Windows 11 und höher erfordern jedoch eine ordnungsgemäße Referenz, die die Anweisungen Include und Needs verwenden.
Informationen zu WUDFRd.sys finden Sie unter Angeben des Reflektors in einer INF-Datei.
Für mshidkmdf.sys, wenn mshidkmdf.sys als Funktionstreiber verwendet wird,
[DDInstall]
Include=MsHidKmdf.inf
Needs=MsHidKmdf.NT
; also include any existing DDInstall directives
[DDInstall.HW]
Include=MsHidKmdf.inf
Needs=MsHidKmdf.NT.HW
; also include any existing DDInstall.HW directives
[DDInstall.Services]
Include=MsHidKmdf.inf
Needs=MsHidKmdf.NT.Services
; also include any existing any DDInstall.Services directives
Wenn Sie mshidkmdf.sys als Filtertreiber verwenden möchten, folgen Sie dem obigen Muster, verwenden Sie jedoch anstelle von MsHidKmdf.NT.* einen der folgenden Abschnittsnamen und ersetzen Sie den Namen in allen drei Abschnitten:
Oberer Filter: MsHidKmdf_UpperFilter.NT Niedrigerer Filter: MsHidKmdf_LowerFilter.NT
Wenn Sie die Filterabschnitte verwenden, muss auch das folgende Muster berücksichtigt werden:
[DDInstall.Filters]
Include=MsHidKmdf.inf
Needs=MsHidKmdf_UpperFilter.NT.Filters
MsHidKmdf_UpperFilter.NT.Filters sollte verwendet werden, um WUDFRD als oberen Filter zu installieren. Für einen niedrigeren Filter sollte MsHidKmdf_LowerFilter.NT verwendet werden.
Fehlende Anführungszeichen
Wenn der Pfad zu einer Dienstbinärdatei ein Leerzeichen enthält jedoch keine Anführungszeichen, wird dieser Fehler angezeigt. Beispiel:
ServiceBinary=%13%\Sub Directory\Binary.dll
Aufgrund des Leerzeichens im Pfad behandelt das System diesen Pfad als binären Pfad für %13%\Sub
mit den Argumenten Directory\Binary.dll
, und dieser Fehler wird angezeigt, da %13%\Sub
eine ungültige Binärdatei ist. Anführungszeichen sollten verwendet werden, um anzugeben, dass es sich um einen einzelnen binären Pfad handelt, bei dem ING-Syntax dreifache Anführungszeichen verwendet. Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:
ServiceBinary="""%13%\Sub Directory\Binary.dll"""