Compartir a través de


Error de InfVerif 2084

Información de error

El código de error 2084 genera el siguiente mensaje de error:

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

Este error se produce cuando no se incluye un archivo especificado en una declaración de servicio como parte del paquete de controladores. InfVerif comprueba que hay una operación de copia de archivos correspondiente para cada archivo binario de servicio en el paquete de controladores.

El archivo se puede omitir por completo de las directivas CopyFiles de este INF, o puede estar presente para algunas arquitecturas o versiones del sistema operativo, pero no para todas ellas. Asegúrese de que se está copiando para la arquitectura y la versión del sistema operativo en que se produce el error.

Causas

Error tipográfico

Una causa común es un error tipográfico en la declaración binaria del servicio o en la sección CopyFiles.

[MyCopyFiles]
Binary1.sys

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

En lo anterior, hay un error tipográfico en la ruta de acceso al binario, donde Binar1y.sys se especifica en lugar de Binary1.sys.

Binario de la bandeja de entrada

Algunos archivos binarios de bandeja de entrada se usan como función o controlador de filtro para un dispositivo. Históricamente, esos archivos binarios se podrían usar directamente en una declaración de servicio, pero Windows 11 y versiones posteriores requieren una referencia adecuada para ellos mediante las directivas Include y Needs .

Para WUDFRd.sys, consulte Especificación del reflector en un archivo INF.

Para mshidkmdf.sys, al usar mshidkmdf.sys como controlador de funciones,

[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

Para usar mshidkmdf.sys como controlador de filtro, siga el patrón anterior, pero use uno de los nombres de sección siguientes en lugar de MsHidKmdf.NT.*, reemplazando el nombre en las tres secciones:

Filtro superior: MsHidKmdf_UpperFilter.NT Filtro inferior: MsHidKmdf_LowerFilter.NT

Al usar las secciones de filtro, también se debe incluir el siguiente patrón:

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

Donde se deben usar MsHidKmdf_UpperFilter.NT.Filters para instalar WUDFRD como filtro superior y MsHidKmdf_LowerFilter.NT para un filtro inferior.

Faltan comillas

Si la ruta de acceso a un binario de servicio contiene un espacio, pero no hay comillas alrededor de él, aparecerá este error. Por ejemplo

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

Debido al espacio en la ruta de acceso, el sistema lo interpreta como una ruta binaria de %13%\Sub con los argumentos Directory\Binary.dll y este error aparece porque %13%\Sub no es un binario válido. Las comillas deben utilizarse para indicar que se trata de una ruta binaria única, donde la sintaxis INF utiliza comillas triples. A continuación se resuelve este error:

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