Erreur InfVerif 2084
Informations sur l’erreur
Le code d’erreur 2084 génère le message d’erreur suivant :
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 binaire de service dans le package de pilotes.
Le fichier peut être omis totalement des directives CopyFiles de ce fichier INF, ou bien il peut être présent pour certaines architectures ou versions du système d’exploitation, mais pas toutes. Vérifiez que le fichier est copié à la fois pour l’architecture et pour la version du système d’exploitation concernées par l’erreur.
Causes
Typo
L’une des causes courantes 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 l’exemple ci-dessus, le chemin d’accès au fichier binaire contient une faute de frappe : Binar1y.sys
à la place de Binary1.sys
.
Fichier binaire intégré
Certains fichiers binaires intégrés sont utilisés comme pilote de fonction ou de filtre pour un appareil. Historiquement, ces fichiers binaires pouvaient être utilisés directement dans une déclaration de service, mais Windows 11 et les versions ultérieures exigent une référence appropriée à ces fichiers binaires à l’aide des directives Include et Needs.
Pour WUDFRd.sys, voir Spécification du 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 à la place de MsHidKmdf.NT.*, en remplaçant le nom dans les trois sections suivantes :
Filtre supérieur : MsHidKmdf_UpperFilter.NT Filtre inférieur : MsHidKmdf_LowerFilter.NT
Lorsque vous utilisez les sections de filtre, vous devez également inclure le modèle suivant :
[DDInstall.Filters]
Include=MsHidKmdf.inf
Needs=MsHidKmdf_UpperFilter.NT.Filters
MsHidKmdf_UpperFilter.NT.Filters doit être utilisé pour installer WUDFRD comme filtre supérieur, et MsHidKmdf_LowerFilter.NT pour un filtre inférieur.
Guillemets manquants
Cette erreur survient si le chemin d’accès à un binaire de service contient une espace, mais qu’il n’est pas entouré de guillemets. Par exemple,
ServiceBinary=%13%\Sub Directory\Binary.dll
En raison de l’espace dans le chemin d’accès, le système le considère comme un chemin d’accès binaire %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 d’accès binaire unique ; la syntaxe INF utilise des guillemets triples. Pour résoudre cette erreur, procédez comme suit :
ServiceBinary="""%13%\Sub Directory\Binary.dll"""