INF SourceDisksNames 部分

SourceDisksNames 部分标识安装过程中要传输到目标计算机的分发磁盘或 CD-ROM 光盘。

[SourceDisksNames] |
[SourceDisksNames.x86] | 
[SourceDisksNames.ia64] | (Windows XP and later versions of Windows)
[SourceDisksNames.amd64] | (Windows XP and later versions of Windows)
[SourceDisksNames.arm] | (Windows 8 and later versions of Windows)
[SourceDisksNames.arm64] (Windows 10 version 1709 and later versions of Windows)

diskid = disk-description[,tag-or-cab-file] |
diskid = disk-description[,[tag-or-cab-file][,[unused][,path]]] |
diskid = disk-description[,[tag-or-cab-file],[unused],[path][,flags]] |
diskid = disk-description[,[tag-or-cab-file],[unused],[path],[flags][,tag-file]]  (Windows XP and later versions of Windows)
...

diskid
以十进制格式指定一个非负整数,用于标识源磁盘。 此值不需要超过 4 个字节的存储。 如果有多个源磁盘用于分发,则本节中的每个 diskid 条目必须具有唯一值,例如 123 等。

disk-description
指定 %strkey% 标记或 带引号的字符串 ,用于描述 由 diskid 标识的磁盘的内容和/或用途。 例如,安装程序可以在安装过程中向最终用户显示此字符串的值,以确定要在安装过程的特定阶段插入到驱动器中的源磁盘。

本节中的每个 %strkey% 规范都必须在 INF 的 Strings 节中定义。 任何不是 %strkey% 标记的磁盘说明都是用户可见的字符串,如果具有任何前导或尾随空格,则必须用双引号字符分隔 (“) 。

tag-or-cab-file
此可选值指定分发磁盘上提供的 标记文件cabinet (.cab) 文件 的名称,无论是在 安装根 目录还是在 路径指定的子目录中(如果有)。 该值应仅指定文件名和扩展名,而不指定任何目录或子目录。

Windows 使用标记文件验证用户是否插入了正确的安装磁盘。 可移动媒体需要标记文件,对于固定媒体是可选的。

如果 Windows 无法在安装介质上按名称找到安装文件,并且 标记或 cab 文件 具有扩展名 cab,Windows 将其用作包含安装文件的内阁文件的名称。

如果为 .指定 cab 扩展名,Windows 会将该文件视为标记文件和内阁文件,如以下 “备注” 部分所述。

对于 Windows XP 和更高版本的 Windows,还会看到 标志标记文件 条目值。

unused
Windows 2000 及更高版本的 Windows 不再支持此项。

路径
此可选值指定包含源文件的分发磁盘上的目录路径。 路径相对于安装根目录,表示为 \dirname1\dirname2...等等。 如果从条目中省略此值,则假定文件位于分发磁盘的安装根目录中。

可以使用 INF SourceDisksFiles 节 指定相对于包含源文件的给定路径目录的子目录。 但是,标记文件和 内阁文件 必须驻留在给定路径目录或安装根目录中。

flag
从 Windows XP 开始,将此设置设置为 0x10 强制 Windows 使用 标记或 cab-file 作为内阁文件名,并使用 标记文件 作为标记文件名。 否则, 标志 仅供内部使用。

tag-file
从 Windows XP 开始,如果 标志 设置为 0x10,则此可选值指定分发介质上提供的 标记文件 的名称,无论是在 安装根 目录还是在 路径指定的子目录中。 该值应指定没有路径信息的文件名和扩展名。 有关详细信息,请参阅备注部分。

备注

SourceDisksNames 节可以有任意数量的条目,每个分发磁盘都有一个条目。 具有 SourceDisksNames 节的任何 INF 还必须具有 INF SourceDisksFiles 节。 (按约定, SourceDisksNamesSourceDisksFiles 部分遵循 INF 版本部分。)

这些部分永远不会出现在系统提供的 INF 文件中。 相反,系统提供的 INF 文件在其版本部分中指定 LayoutFile 条目。

SourceDisksNames 部分中的条目可以采用两种格式之一,其中一种格式仅在 Windows XP 和更高版本的 Windows 中受支持。

在第一种格式中, tag-or-cab-file 参数可以指定 标记文件内阁文件。 遇到此格式时,Windows 使用以下算法:

  1. 标记或 cab 文件 值视为标记文件名,并在安装介质上查找该文件。 如果介质是可移动的,并且找不到标记文件,请提示用户输入正确的介质。 如果介质是固定的,并且无法找到要安装的第一个文件,请提示用户输入正确的介质。

  2. 尝试直接从介质复制安装文件。

  3. 标记或 cab 文件 值视为.cab文件并查找文件。

  4. 尝试从 .cab 文件中复制安装文件。

  5. 提示用户找不到文件。

Windows XP 和更高版本的 Windows 支持第二种格式。 使用此格式,可以使用 标记或 cab-file标志标记文件 条目来指定 .cab 文件和标记文件。 遇到此格式时,Windows 使用以下算法:

  1. 如果安装介质是可移动的,请查找与 由标记文件指定的文件名匹配的标记文件。 如果找不到该文件,请提示用户输入正确的介质。 如果介质是固定的,请查找标记文件或内阁文件。 如果找不到这两个文件,请提示用户输入正确的介质。

  2. 尝试从标记或 cab-file 指定的.cab文件中复制安装文件。

  3. 提示用户找不到文件。

对于任一格式,必须为驱动程序文件的每个版本提供不同的标记文件(具有不同的文件名)。

若要支持在多个系统体系结构上分发驱动程序文件,可以通过将 .x86、.ia64.amd64 或其他体系结构扩展添加到 SourceDisksNames 来指定特定于体系结构的 SourceDisksNames 节。

请注意,与其他节(如 DDInstall 部分)不同, SourceDisksNames 节的平台扩展不是 .ntx86.ntia64.ntamd64 等。例如,若要为基于 x86 的系统指定源磁盘名称节,请使用 SourceDisksNames.x86 节,而不是 SourceDisksNames.ntx86 节。 同样,使用 SourceDisksNames.ia64 节指定基于 Itanium 的系统,使用 SourceDisksNames.amd64 节指定基于 x64 的系统。

在安装过程中,SetupAPI 函数在使用泛型节之前查找特定于体系结构的 SourceDisksNames 部分。 例如,如果在基于 x86 的平台上安装期间,INF 文件引用磁盘“2”,则设备安装功能将在 SourceDisksNames.x86 中查找源DisksNames.x86 中的磁盘“2”条目,然后再查找 SourceDisksNames

设备安装功能使用 SourceDisksNamesSourceDisksNames。与相关 SourceDisksFiles 节位于同一 INF 文件中的体系结构部分。

示例

在以下示例中,对于所有 Windows 平台, write.exe 文件都相同,位于 CD-ROM 分发光盘的安装根目录下的 \common 子目录中。 cmd.exe 文件是一个特定于平台的文件,仅在基于 x86 的平台上使用。

[SourceDisksNames]
1 = "Windows NT CD-ROM",file.tag,,\common

[SourceDisksNames.x86]
2 = "Windows NT CD-ROM",file.tag,,\x86

[SourceDisksFiles]
write.exe = 1
cmd.exe = 2

以下示例使用包含 .tag 文件和 .cab 文件的单独规范的条目。

[Version]
signature = "$Windows NT$"
Provider = %Msft%

[SourceDisksNames]
1 = "Dajava","Dajava.cab",,,0x10,"Dajava.tag"
2 = "Osc","Osc.cab",,,0x10,"OSC.tag"
3 = "Win","Win.cab",,,0x10,"Win.tag"
4 = "XMLDSO","XMLDSO.cab",,,0x10,"XMLDSO.tag"

[SourceDisksFiles]
ArrayBvr.class=1
BvrCallback.class=1
BvrsToRun.class=1
choice.osc=2
custom.osc=2
login.osc=2
mwcload.exe=3
mwcloadw.exe=3
mwclw32.dll=3
Atom.class=4
DTD.class=4
Entity.class=4
Entry.class=4

[DestinationDirs]
Test = 13

[DefaultInstall]
CopyFiles = Test

[Test]
ArrayBvr.class
mwcloadw.exe
Entity.class
custom.osc
BvrCallback.class
BvrsToRun.class
choice.osc
login.osc
mwcload.exe
mwclw32.dll
Atom.class
DTD.class
Entry.class

[Strings]
Msft = "Microsoft"

另请参阅

DestinationDirs

SourceDisksFiles

版本