媒體數據表
媒體數據表描述組成安裝來源媒體的磁碟集。
Media 資料表包含下表中顯示的數據行。
列 | 類型 | 鑰匙 | 空 |
---|---|---|---|
DiskId | 整數 | Y | N |
LastSequence | 整數 | N | N |
DiskPrompt | 文字 | N | Y |
內閣 | 內閣 | N | Y |
VolumeLabel | 文字 | N | Y |
源 | 屬性 | N | Y |
列
-
DiskId
-
決定數據表的排序順序。 這個數字必須等於或大於 1。
-
LastSequence
-
此媒體最後一個檔案的檔案序號。 LastSequence 資料行中的數位會指定在特定來源磁碟上找到 檔案 數據表中的檔案。 每個來源磁碟都包含序號的所有檔案(如 File 數據表的 Sequence 數據行所示)小於或等於 LastSequence 數據行中的值,以及大於上一個磁碟的 LastSequence 值(或大於 0,代表 Media 數據表中的第一個專案)。 這個數字必須是非負數;最大限制為 32767 個檔案。 如需使用更多檔案建立 Windows Installer 套件的詳細資訊,請參閱 撰寫大型套件。
-
DiskPrompt
-
磁碟名稱,通常是磁碟上列印的可見文字。 此可本地化的文字可用來在需要插入此磁碟時提示使用者。
-
內閣
-
如果儲存在媒體上的部分或所有檔案壓縮成封包檔案,則封包的名稱。 如果未使用任何封包,則此數據行必須為空白。 封包的名稱必須使用 Cabinet 數據類型的語法。 Windows Installer 一律需要有效的來源來修復內嵌封包檔案中包含的檔案。 當 Windows Installer 安裝包含內嵌封包檔案的套件時,系統可以儲存封包檔案的複本。 此復本無法用來修復封包檔案。 若要節省磁碟空間,請使用外部封包檔案,而不是內嵌的封包檔案。
-
VolumeLabel
-
屬性為磁碟區的標籤。 這是 getVolumeInformation函式所傳回的磁碟區標籤。 如果 SourceDir 屬性是指卸載式磁碟區(軟盤或 CD-ROM)磁碟區,則此磁碟區卷標會用來確認磁碟驅動器中是否有適當的磁碟,然後再嘗試安裝檔案。 此數據行中的項目必須符合實體媒體的磁碟區標籤。
-
來源
-
此欄位僅供修補使用,否則會保留空白。 修補程式轉換可以在這裡輸入屬性,這是封包檔案的位置,其中包含修補程式檔案或任何由修補程式新增的新檔案。 您必須為這些檔案指定不同的來源,因為修補程式套件的來源可以與產品的來源分開儲存。 如果 [封包] 欄位是空的,安裝程式會忽略此資料行中的值。 如果此欄位是空的,安裝程式會使用 SourceDir 屬性的值做為封包的來源。
言論
如果封包名稱前面加上數字符號 (#),則參考此媒體數據表記錄的檔案會包裝在儲存在資料庫中做為個別數據流的封包檔案中。
如需如何將封包新增至檔案數據表和媒體數據表的詳細資訊,請參閱 使用封包和壓縮來源。
Windows Installer 要求 .msi 檔案位於用於產品安裝之抽取式媒體(CD、DVD 或軟盤)的第一個磁碟上。
判斷SourceMode
字數摘要 屬性會決定目前安裝的來源模式。 如果此屬性設定為 2 或 3,則會假設安裝櫃。 在此模式中,封包檔案會假設存在於 SourceDir 屬性所指示的目錄中。 如果 [來源類型] 值為 0 或 1,則會假設所有來源檔案都存在於樹狀結構中,其根目錄是由 sourceDir 屬性所指示。
請注意,這隻適用於 [檔案] 資料表中沒有屬性數據行中設定之 [壓縮] 或 [未壓縮] 位的檔案。 當判斷特定檔案是否壓縮或未壓縮時,這些位會覆寫 字數摘要 屬性的值。
驗證