Директива INF CopyINF

Директива CopyINF приводит к копированию указанных INF-файлов в целевую систему. Директива CopyINF поддерживается в Windows XP и более поздних версиях Windows.

[DDInstall]
  
CopyINF=filename1.inf[,filename2.inf]...

Комментарии

Системная поддержка директивы CopyINF доступна в Microsoft Windows XP и более поздних версиях Windows.

Эта директива обычно используется при установке многофункциональных устройств. Если для установки многофункционального устройства требуется несколько INF-файлов (для нескольких функций, принадлежащих нескольким классам установки), использование этой директивы гарантирует, что Windows будет находить INF-файлы при установке функций. Используйте следующие правила:

  • Если функции, предоставляемые многофункциональным устройством, перечисляются как дочерние для родительского устройства (например, устройства IEEE 1284.4), INF-файл родительского устройства должен иметь директиву CopyINF для копирования INF-файлов для отдельных функций устройства.

  • Если все функции, предоставляемые многофункциональным устройством (например, PCI карта), перечисляются как одноранговые узлы, INF-файл для каждой функции должен иметь директиву CopyINF для копирования INF-файлов для всех одноранговых функций.

Если следовать этим правилам, Windows может устанавливать драйверы для каждой функции, не запрашивая у пользователя диск установки для каждой функции.

К директиве CopyINF относятся следующие моменты:

  • До Windows Vista Windows копирует указанные INF-файлы в рамках обработки по умолчанию для DIF_INSTALLDEVICE (см. Раздел SetupDiInstallDevice) после успешной установки устройства.

    Windows копирует указанные INF-файлы в системный путь к каталогу, по которому будет выполняться поиск во время установки устройства.

  • INF-файлы, указанные в директиве CopyINF , должны находиться в том же каталоге, что и INF-файл, содержащий директиву CopyINF , или в подкаталоге этого каталога. Если INF-файл находится в подкаталоге, директива CopyINF должна включать полный относительный путь к нему. Например, CopyINF=SubDir1\SubDir2\Example.inf.

  • Необходимо включить все INF-файлы на каждом диске многодисковой установки.

Начиная с Windows Vista, следующие моменты также относятся к директиве CopyINF :

  • Директива CopyINF приводит к копированию всего пакета драйвера , на который ссылается указанный INF-файл, в хранилище драйверов. Это необходимо для поддержки развертывания пакетов многофункциональных драйверов, так как исходный носитель может быть недоступен при фактической установке устройства. Если пакет драйвера, на который ссылается указанный INF-файл, уже существует в хранилище драйверов, INF-файл, указанный в директиве CopyINF , игнорируется.

  • Директива CopyINF обрабатывается во время импорта хранилища драйверов, а не во время установки устройства. Это означает, что вызов SetupCopyOEMInf в Windows Vista и более поздних версиях Windows вызывает обработку всех директив CopyINF в указанном INF-файле. Это происходит рекурсивно для каждой директивы CopyINF , содержащейся в указанном INF-файле, пока все указанные пакеты драйверов не будут скопированы в хранилище драйверов.

Начиная с Windows 10 версии 1511 при определенных обстоятельствах (например, при выполнении клиентский компонент Центра обновления Windows или некоторых вызовах DiInstallDevice) inFs, скопированные с помощью CopyINF, также будут установлены на соответствующих устройствах.

Дополнительные сведения о копировании INF-файлов см. в разделе Копирование INFs.

Примеры

[MyMfDevice.NTx86]
CopyINF = Sound.INF