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
這個選擇性值會指定在散發磁碟上提供之 卷標檔案封包 (.cab) 的名稱 ,不論是在 安裝根 目錄或路徑所指定的子目錄中,或是 路徑所指定的子目錄中。 值應該只指定檔名和擴展名,而不是任何目錄或子目錄。

Windows 會使用標記檔案來確認使用者插入了正確的安裝磁碟。 卸除式媒體需要標記檔案,而且是固定媒體的選擇性檔案。

如果 Windows 在安裝媒體上找不到名稱的安裝檔案,而且 tag-or-cab-file 的擴展名為 cab,Windows 會使用它作為包含安裝檔案的封包檔案名稱。

如果 為 。指定 cab 擴展名,Windows 會將檔案視為標記檔案和封包檔案,如下列一節所述。

針對 Windows XP 和更新版本的 Windows,另請參閱 旗標標記檔案 專案值。

閑置
Windows 2000 和更新版本的 Windows 不再支援此專案。

path
這個選擇性值會指定包含來源檔案之散發磁碟上的目錄路徑。 路徑相對於安裝根目錄,並以 \dirname1\dirname2...表示,依此類傳。 如果從專案省略此值,則會假設檔案位於散發磁碟的安裝根目錄中。

您可以使用 INF SourceDisksFiles 區段 來指定子目錄,相對於包含來源檔案的指定路徑目錄。 不過,卷標檔案和 封包檔案 必須位於指定的路徑目錄或安裝根目錄中。

flags
從 Windows XP 開始,將此設定為 0x10 會強制 Windows 使用 tag-or-cab-file 作為封包檔名,並使用 標記檔案 作為標記檔名。 否則, 旗標 僅供內部使用。

tag-file
從 Windows XP 開始,如果 標設定為 0x10,這個選擇性值會指定散發媒體上提供的 標記檔名 ,不論是在 安裝根 目錄或 路徑所指定的子目錄中。 值應該指定檔名和擴展名,而不需路徑資訊。 如需詳細資訊,請參閱備註一節。

備註

SourceDisksNames 區段可以有任意數目的專案,每個散發磁碟各有一個專案。 任何具有 SourceDisksNames段的 INF 也必須具有 INF SourceDisksFiles 區段。 (依慣例、 SourceDisksNamesSourceDisksFiles段遵循 INF 版本一節。)

這些區段永遠不會出現在系統提供的 INF 檔案中。 相反地,系統提供的 INF 檔案會在其 Version 區段中指定 LayoutFile 專案。

SourceDisksNames 區段中的專案可以有兩種格式的其中一種,其中一種格式只支援 Windows XP 和更新版本的 Windows。

在第一種格式中, tag-or-cab-file 參數可以指定 標記檔案封包檔案。 遇到此格式時,Windows 會使用下列演算法:

  1. tag-or-cab-file 值視為標籤檔名,並在安裝媒體上尋找檔案。 如果媒體是卸除式且找不到標記檔案,請提示使用者輸入正確的媒體。 如果媒體是固定的,而且找不到要安裝的第一個標籤檔案,則提示使用者輸入正確的媒體。

  2. 嘗試直接從媒體複製安裝檔案。

  3. tag-or-cab-file 值視為 .cab 檔案,並尋找檔案。

  4. 嘗試從 .cab 檔案複製安裝檔案。

  5. 提示使用者輸入找不到檔案。

Windows XP 和更新版本的 Windows 支援第二種格式。 使用此格式,您可以使用 tag-or-cab-fileflagstag-file 專案來指定 .cab 檔案和標記檔案。 遇到此格式時,Windows 會使用下列演算法:

  1. 如果安裝媒體是可移動的,請尋找符合 tag-file 所指定檔名的標記檔案。 如果找不到檔案,請提示使用者輸入正確的媒體。 如果媒體已修正,請尋找標籤檔案或封包檔案。 如果找不到兩個檔案,請提示使用者輸入正確的媒體。

  2. 嘗試從 tag-or-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 中磁碟 「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 檔案之個別規格的專案。

[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

版本