InfVerif Error 2084
Informações de erro
Esta 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 vem incluído como parte do pacote do driver. O InfVerif confere se há uma operação de cópia de arquivo correspondente para cada binário de serviço no pacote do driver.
O arquivo pode ser totalmente omitido das diretivas CopyFiles deste INF ou pode estar em algumas arquiteturas ou versões do sistema operacional, mas não em todas. Certifique-se de que ele esteja sendo copiado para a arquitetura e a versão do sistema operacional onde o erro ocorre.
Causas
Typo
Uma das causas comuns é um erro de digitação na declaração binária do serviço ou na seção CopyFiles.
[MyCopyFiles]
Binary1.sys
...
[MyServiceInstallSection]
ServiceBinary=%13%\Binar1y.sys
No caso acima, há um erro de digitação no caminho para o binário, em que Binar1y.sys
é especificado em vez de Binary1.sys
.
Binário da caixa de entrada
Alguns binários de caixa de entrada são utilizados como driver da função ou filtro para um dispositivo. Historicamente, esses binários podem 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.
Para mshidkmdf.sys, ao usar mshidkmdf.sys como driver 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 driver de filtro, siga o padrão acima, mas use um dos nomes de seção abaixo em vez de MsHidKmdf.NT.*, substituindo o nome nas três seções:
Filtro superior: MsHidKmdf_UpperFilter.NT Filtro inferior: MsHidKmdf_LowerFilter.NT
Ao usar as seções de filtro, este padrão também deve ser incluído:
[DDInstall.Filters]
Include=MsHidKmdf.inf
Needs=MsHidKmdf_UpperFilter.NT.Filters
Em que MsHidKmdf_UpperFilter.NT.Filters deve ser usado para instalar o WUDFRD como filtro superior e MsHidKmdf_LowerFilter.NT para filtro inferior.
Aspas de abertura ausentes
Se o caminho para um binário de serviço tiver um espaço, mas não houver aspas em volta dele, esse erro aparecerá. Por exemplo,
ServiceBinary=%13%\Sub Directory\Binary.dll
Por causa do espaço no caminho, o sistema trata isso como caminho binário de %13%\Sub
com os argumentos Directory\Binary.dll
, e esse erro aparece porque %13%\Sub
não é um binário válido. As aspas devem ser usadas para indicar que esse é um único caminho binário, onde a sintaxe INF usa aspas triplas. Faça o seguinte para resolver esse erro:
ServiceBinary="""%13%\Sub Directory\Binary.dll"""