Partilhar via


Erro InfVerif 2084

Informações de erro

A seguinte mensagem de erro é gerada pelo código de erro 2084:

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

Este erro ocorre quando um arquivo especificado em uma declaração de serviço não é incluído como parte do pacote de driver. InfVerif verifica se há uma operação de cópia de arquivo correspondente para cada binário de serviço no pacote de driver.

O arquivo pode ser omitido inteiramente das diretivas CopyFiles deste INF, ou pode estar presente para algumas arquiteturas ou versões do sistema operacional, mas não todas. Certifique-se de que ele está sendo copiado para a arquitetura e a versão do sistema operacional em que o erro ocorre.

Causas

Erro de digitação

Uma causa comum é um erro de digitação na declaração binária de serviço ou na seção CopyFiles.

[MyCopyFiles]
Binary1.sys

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

No acima, há um erro de digitação no caminho para o binário, onde Binar1y.sys é especificado em vez de Binary1.sys.

Inbox Binary

Alguns binários da caixa de entrada são usados como a função ou driver de filtro para um dispositivo. Historicamente, esses binários podiam ser usados diretamente em uma declaração de serviço, mas o Windows 11 e versões mais recentes exigem uma referência adequada a eles usando as diretivas Include e Needs .

Para WUDFRd.sys, consulte Especificando o refletor em um arquivo INF.

Por mshidkmdf.sys, ao usar mshidkmdf.sys como o controlador de função,

[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 um controlador de filtro, siga o padrão acima, mas use um dos nomes de secção abaixo em vez de MsHidKmdf.NT.*, substituindo o nome em todas as três secções:

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

Ao usar as seções de filtro, o seguinte padrão também deve ser incluído:

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

Onde MsHidKmdf_UpperFilter.NT.Filters deve ser usado para instalar WUDFRD como um filtro superior e MsHidKmdf_LowerFilter.NT para um filtro inferior.

Aspas em falta

Se o caminho para um binário de serviço contiver um espaço, mas não houver aspas ao seu redor, esse erro aparecerá. Por exemplo

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

Devido ao espaço no caminho, o sistema trata isso como um caminho binário de %13%\Sub com os argumentos Directory\Binary.dll, e esse erro é mostrado porque %13%\Sub não é um binário válido. As aspas devem ser usadas para indicar que este é um caminho binário único, onde a sintaxe INF usa aspas triplas. O seguinte resolve esse erro:

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