Chyba InfVerif 2084

Informace o chybě

Následující chybová zpráva je generována kódem chyby 2084:

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

K této chybě dochází v případě, že soubor zadaný v deklaraci služby není součástí balíčku ovladače. InfVerif ověří, že existuje odpovídající operace kopírování souboru pro každý binární soubor služby v balíčku ovladače.

Soubor může být zcela vynechán z direktiv CopyFiles tohoto INF nebo může být k dispozici pro některé architektury nebo verze operačního systému, ale ne všechny. Ujistěte se, že se kopíruje pro architekturu a verzi operačního systému, ve které k chybě dochází.

Příčiny

Překlep

Běžnou příčinou je překlep v binární deklaraci služby nebo v části CopyFiles.

[MyCopyFiles]
Binary1.sys

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

Ve výše uvedeném příkladu je v cestě k binárnímu souboru překlep, kde Binar1y.sys je zadán místo Binary1.sys.

Inbox Binary

Některé binární soubory doručené pošty se používají jako funkce nebo ovladač filtru pro zařízení. Tyto binární soubory lze historicky použít přímo v deklaraci služby, ale Windows 11 a novější vyžadují správný odkaz na ně pomocí direktiv Include a Needs .

Informace oWUDFRd.sysnaleznete v části Určení reflektoru v souboru INF.

Pro mshidkmdf.sys, při použití mshidkmdf.sys jako funkčního ovladače,

[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

Pokud chcete použít mshidkmdf.sys jako ovladač filtru, postupujte podle výše uvedeného vzoru, ale místo MsHidKmdf.NT.* použijte některý z níže uvedených názvů sekcí a nahraďte tento název ve všech třech sekcích:

Horní filtr: MsHidKmdf_UpperFilter.NT Dolní filtr: MsHidKmdf_LowerFilter.NT

Při použití oddílů filtru musí být také zahrnut následující vzor:

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

Kde MsHidKmdf_UpperFilter.NT.Filters by měly být použity k instalaci WUDFRD jako horní filtr a MsHidKmdf_LowerFilter.NT pro nižší filtr.

Chybějící uvozovky

Pokud cesta k binárnímu souboru služby obsahuje mezeru, ale kolem ní nejsou žádné uvozovky, zobrazí se tato chyba. Příklad:

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

Vzhledem k mezeře v cestě systém interpretuje tuto cestu jako binární %13%\Sub s argumenty Directory\Binary.dll, a tato chyba je zobrazena, protože %13%\Sub není platný binární soubor. Uvozovky by měly být použity k označení, že se jedná o jednu binární cestu, kde syntaxe INF používá trojité uvozovky. Následující řešení této chyby:

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