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