Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сведения об ошибке
Следующее сообщение об ошибке создается кодом ошибки 2084:
Service binary '<value>' should reference a CopyFiles destination file.
Эта ошибка возникает, когда файл, указанный в объявлении службы, не входит в состав пакета драйвера. InfVerif проверяет наличие соответствующей операции копирования файлов для каждого служебного бинарного файла в пакете драйвера.
Файл может быть полностью исключен из директив CopyFiles этого INF, либо он может присутствовать для некоторых архитектур или версий ОС, а для некоторых - нет. Убедитесь, что он копируется для версии архитектуры и ОС, в которой возникает ошибка.
Причины
Опечатка
Распространенной причиной является опечатка в двоичном объявлении службы или разделе CopyFiles.
[MyCopyFiles]
Binary1.sys
...
[MyServiceInstallSection]
ServiceBinary=%13%\Binar1y.sys
В приведенном выше примере в пути к двоичному файлу имеется опечатка, где Binar1y.sys упомянут вместо Binary1.sys.
Inbox Binary
Некоторые двоичные файлы в папке "Входящие" используются в качестве драйвера функции или фильтра для устройства. Исторически эти двоичные файлы можно было использовать непосредственно в объявлении службы, но для Windows 11 и более новой версии требуется корректная ссылка на двоичные файлы с помощью директив Include и Needs.
Для WUDFRd.sys подробно см. Указание отражателя в INF-файле.
Для mshidkmdf.sysпри использовании mshidkmdf.sys в качестве драйвера функции;
[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
Чтобы использовать mshidkmdf.sys в качестве драйвера фильтра, следуйте приведенному выше шаблону, но используйте одно из приведенных ниже имен разделов вместо MsHidKmdf.NT.*, заменив имя во всех трех разделах:
Верхний фильтр: MsHidKmdf_UpperFilter.NT Нижний фильтр: MsHidKmdf_LowerFilter.NT
При использовании разделов фильтра необходимо также включить следующий шаблон:
[DDInstall.Filters]
Include=MsHidKmdf.inf
Needs=MsHidKmdf_UpperFilter.NT.Filters
Где MsHidKmdf_UpperFilter.NT.Filters следует использовать для установки WUDFRD в качестве верхнего фильтра и MsHidKmdf_LowerFilter.NT для нижнего фильтра.
Отсутствующие кавычки
Если путь к двоичному файлу службы содержит пробел, но вокруг него нет кавычки, появится эта ошибка. Например
ServiceBinary=%13%\Sub Directory\Binary.dll
Из-за пробела в пути система обрабатывает это как двоичный путь %13%\Sub с аргументами Directory\Binary.dll, и эта ошибка отображается, так как %13%\Sub не является допустимым двоичным файлом. Кавычки следует использовать для указания того, что это один двоичный путь, где синтаксис INF использует тройные кавычки. Ниже устранена эта ошибка:
ServiceBinary="""%13%\Sub Directory\Binary.dll"""