INF CopyINF 指令

CopyINF 指令会导致将指定的 INF 文件复制到目标系统。 CopyINF 指令在 Windows XP 和更高版本的 Windows 中受支持。

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

注解

Microsoft Windows XP 和更高版本的 Windows 中提供了 对 CopyINF 指令的系统支持。

此指令通常在安装多功能设备时使用。 如果安装多功能设备需要多个 INF 文件 (属于多个安装类) 的多个函数,则使用此指令可确保 Windows 在安装函数时找到 INF 文件。 使用以下规则:

  • 如果多功能设备提供的函数枚举为父设备 ((例如 IEEE 1284.4 设备) )的子级,则父设备的 INF 文件应具有 CopyINF 指令,以便为设备的各个功能复制 INF 文件。

  • 如果由多功能设备 (提供的所有函数(如 PCI 卡) )枚举为彼此的对等方,则每个函数的 INF 文件都应具有 CopyINF 指令,以复制所有对等函数的 INF 文件。

如果遵循这些规则,Windows 可以为每个函数安装驱动程序,而无需提示用户为每个函数提供安装磁盘。

以下几点适用于 CopyINF 指令:

  • 在 Windows Vista 之前,Windows 会复制指定的 INF 文件作为 DIF_INSTALLDEVICE 的默认处理的一部分, (在设备成功安装后参阅 SetupDiInstallDevice) 。

    Windows 将指定的 INF 文件复制到系统目录路径中,它将在设备安装期间搜索该路径。

  • CopyINF 指令中指定的 INF 文件必须与包含 CopyINF 指令的 INF 文件位于同一目录中,或者位于该目录的子目录中。 如果 INF 文件驻留在子目录中, 则 CopyINF 指令应包含该 INF 文件的完整相对路径。 例如 CopyINF=SubDir1\SubDir2\Example.inf

  • 必须在多磁盘安装的每个磁盘上包括所有 INF 文件。

从 Windows Vista 开始,以下几点也适用于 CopyINF 指令:

  • CopyINF 指令会导致将指定 INF 文件引用的完整驱动程序包复制到驱动程序存储中。 这是支持部署多功能驱动程序包所必需的,因为原始源媒体在实际安装设备时可能不可用。 如果驱动程序存储中已存在由指定的 INF 文件引用的驱动程序包,则会忽略 CopyINF 指令中指定的 INF 文件。

  • CopyINF 指令在驱动程序存储导入期间处理,而不是在设备安装期间进行处理。 这意味着调用 Windows Vista 和更高版本的 Windows 上的 SetupCopyOEMInf 会导致指定 INF 文件中的所有 CopyINF 指令在当时进行处理。 对于包含在指定 INF 文件中的每个 CopyINF 指令,直到所有引用的驱动程序包复制到驱动程序存储中为止,都会以递归方式发生此情况。

从 Windows 10 版本 1511 开始,在某些情况下 (例如,运行 Windows 更新 或对 DiInstallDevice) 的一些调用,使用 CopyINF 复制的 INF 也将安装在适用的设备上。

有关如何复制 INF 文件的详细信息,请参阅 复制 INF

示例

[MyMfDevice.NTx86]
CopyINF = Sound.INF