Partager via


Erreur InfVerif 2084

Informations sur l’erreur

Le message d’erreur suivant est généré par le code d’erreur 2084 :

Service binary '<value>' should reference a CopyFiles destination file.

Cette erreur se produit lorsqu’un fichier spécifié dans une déclaration de service n’est pas inclus dans le package de pilotes. InfVerif vérifie qu’il existe une opération de copie de fichier correspondante pour chaque fichier binaire de service dans le package de pilotes.

Le fichier peut être omis entièrement à partir des directives CopyFiles de cet INF, ou il peut être présent pour certaines architectures ou versions du système d’exploitation, mais pas tous. Vérifiez qu’elle est copiée pour l’architecture et la version du système d’exploitation dans laquelle l’erreur se produit.

Les Causes

Coquille

Une cause courante est une faute de frappe dans la déclaration binaire de service ou dans la section CopyFiles.

[MyCopyFiles]
Binary1.sys

...
[MyServiceInstallSection]
ServiceBinary=%13%\Binar1y.sys

Dans ce qui précède, il y a une faute de frappe dans le chemin d'accès au binaire, où Binar1y.sys est spécifié à la place de Binary1.sys.

Boîte de réception binaire

Certains fichiers binaires de boîte de réception sont utilisés comme pilote de fonction ou de filtre pour un appareil. Historiquement, ces fichiers binaires peuvent être utilisés directement dans une déclaration de service, mais Windows 11 et les versions ultérieures nécessitent une référence appropriée à ceux-ci à l’aide des directives Include et Needs .

Pour WUDFRd.sys, consultez Spécifier le réflecteur dans un fichier INF.

Pour mshidkmdf.sys, lors de l’utilisation de mshidkmdf.sys comme pilote de fonction,

[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

Pour utiliser mshidkmdf.sys comme pilote de filtre, suivez le modèle ci-dessus, mais utilisez l’un des noms de section ci-dessous au lieu de MsHidKmdf.NT.*, en remplaçant le nom dans les trois sections suivantes :

Filtre supérieur : filtre MsHidKmdf_UpperFilter.NT Inférieur : MsHidKmdf_LowerFilter.NT

Lorsque vous utilisez les sections de filtre, le modèle suivant doit également être inclus :

[DDInstall.Filters]
Include=MsHidKmdf.inf
Needs=MsHidKmdf_UpperFilter.NT.Filters

Où MsHidKmdf_UpperFilter.NT.Filters doit être utilisé pour installer WUDFRD en tant que filtre supérieur et MsHidKmdf_LowerFilter.NT pour un filtre inférieur.

Guillemets manquants

Si le chemin d’accès à un fichier binaire de service contient un espace, mais qu’il n’y a pas de guillemets autour de celui-ci, cette erreur s’affiche. Par exemple,

ServiceBinary=%13%\Sub Directory\Binary.dll

En raison de l'espace dans le chemin d'accès, le système traite cela comme un chemin binaire de %13%\Sub avec les arguments Directory\Binary.dll, et cette erreur s'affiche car %13%\Sub n'est pas un binaire valide. Les guillemets doivent être utilisés pour indiquer qu’il s’agit d’un chemin binaire unique, où la syntaxe INF utilise des guillemets triples. La résolution suivante corrige cette erreur :

ServiceBinary="""%13%\Sub Directory\Binary.dll"""