Condividi tramite


Errore InfVerif 2084

Informazioni sull'errore

Il seguente messaggio di errore viene generato dal codice di errore 2084:

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

Questo errore si verifica quando un file specificato in una dichiarazione di servizio non è incluso come parte del pacchetto driver. InfVerif verifica che sia presente un'operazione di copia file corrispondente per ogni file binario del servizio nel pacchetto driver.

Il file può essere omesso interamente dalle direttive CopyFiles di questo INF oppure può essere presente per alcune architetture o versioni del sistema operativo, ma non tutte. Assicurarsi che venga copiato per l'architettura e la versione del sistema operativo in cui si verifica l'errore.

Cause

Typo

Una causa comune è un errore di digitazioni nella dichiarazione binaria del servizio o nella sezione CopyFiles.

[MyCopyFiles]
Binary1.sys

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

Nell'esempio precedente è presente un errore di digitatura nel percorso del file binario, dove Binar1y.sys viene specificato invece di Binary1.sys.

Posta in arrivo binaria

Alcuni file binari posta in arrivo vengono usati come driver di funzione o filtro per un dispositivo. Storicamente questi file binari possono essere usati direttamente in una dichiarazione di servizio, ma Windows 11 e versioni successive richiedono un riferimento appropriato a tali file usando le direttive Include e Needs .

Per WUDFRd.sys, vedere Specifica del reflector in un file INF.

Per mshidkmdf.sys, quando si usa mshidkmdf.sys come driver di funzione,

[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

Per usare mshidkmdf.sys come driver di filtro, seguire il modello precedente, ma usare uno dei nomi di sezione seguenti anziché MsHidKmdf.NT.*, sostituendo il nome in tutte e tre le sezioni:

Filtro superiore: MsHidKmdf_UpperFilter.NT Filtro inferiore: MsHidKmdf_LowerFilter.NT

Quando si usano le sezioni di filtro, è necessario includere anche il modello seguente:

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

Dove MsHidKmdf_UpperFilter.NT.Filters deve essere usato per installare WUDFRD come filtro superiore e MsHidKmdf_LowerFilter.NT per un filtro inferiore.

Virgolette mancanti

Se il percorso di un file binario del servizio contiene uno spazio ma non vi sono virgolette, verrà visualizzato questo errore. ad esempio:

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

A causa dello spazio nel percorso, il sistema considera questo come percorso binario di %13%\Sub con gli Directory\Binary.dllargomenti e questo errore viene visualizzato perché %13%\Sub non è un file binario valido. Le virgolette devono essere utilizzate per indicare che si tratta di un singolo percorso binario, in cui la sintassi INF usa virgolette triple. Di seguito viene risolto questo errore:

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