ImageFamilies 表格 (Patchwiz.dll)
映射系列是已更新為最新版本之產品的一或多個升級映像群組。 每個升級的映像只能屬於一個系列。 屬於映像系列的升級映像會共用一或多個檔案。 每個映射系列在 .msp 檔案中都有自己的封包檔案,其中包含更新目標和升級檔案之間差異所需的二進位修補程式和新檔案。 封包檔案不會復寫共用檔案所使用的二進位修補程式和新檔案。
每個修補程式建立資料庫 (.pcp 檔案) 都需要包含至少一筆記錄的 ImageFamilies 數據表。 此數據表由 UiCreatePatchPackageEx 函式使用。
ImageFamilies 數據表包含要新增至 Media 數據表的修補資訊。 修補程式會將一個專案新增至 Media 數據表。 ImageFamilies 數據表中的每個記錄都會參考一組已更新為最新版本產品的相關產品映像。
ImageFamilies 數據表具有下列數據行。 如果修補程式與 Windows Installer 和 Patchwiz.dll 2.0 版套用修補程式,則可以在 MediaSrcPropName、MediaDiskId 和 FileSequenceStart 數據行中使用 Null 值。
列 | 類型 | 鑰匙 | 空 |
---|---|---|---|
家庭 | 發簡訊 | Y | N |
MediaSrcPropName | 發簡訊 | Y | |
MediaDiskId | 整數 | Y | |
FileSequenceStart | 整數 | Y | |
DiskPrompt | 發簡訊 | Y | |
VolumeLabel | 發簡訊 | Y |
列
-
系列
-
在此欄位中輸入的值是已更新為最新版本產品之相關產品映像群組的標識碼。 限制為總計8個英數位元或底線。 安裝程式會在數據表中每個系列的 Windows Installer 修補程式檔案 (.msp 檔案) 中內嵌封包串流。 封包包含將目標映像更新至產品升級映像所需的二進位修補程式和新檔案。 安裝程式會在系列名稱前面加上PCW_CAB_,以產生封包的數據流名稱,其輸入到新 Media 數據表的 [封包] 字段中, 專案。
-
MediaSrcPropName
-
輸入至新 媒體數據表的 [來源] 字段的值, 升級映像的專案。 只有當您使用 2.0 版的 Patchwiz.dll,而且 Properties 數據表中的 MinimumRequiredMsiVersionPatchwiz.dll 設定為 200 時,此字段才能為 null。
-
MediaDiskId
-
安裝程式會將此值輸入新 Media 數據表 記錄的 DiskId 欄位中。 DiskID 值必須大於目標套件中任何目前的 DiskID。 MediaDiskId 的限制是 32767。 只有當您使用 2.0 版的 Patchwiz.dll,而且 Properties 數據表中的 MinimumRequiredMsiVersionPatchwiz.dll 設定為 200 時,此字段才能為 null。
-
FileSequenceStart
-
此欄位是起始檔案的序號。 同一個檔案序號不能存在於相同產品的兩個修補程式中。 若要確保這一點,此字段中的值必須大於先前修補程式或原始安裝套件中使用的所有序號。 修補程式中最大的序號可以藉由將修補程式封包檔案中的專案總數新增至該修補程式的 FileSequenceStart 編號來決定。 判斷這一點的其中一種方式是在建立修補程式期間查看 Patchwiz.dll 所產生的 .ddf 檔案。 FileSequenceStart 的限制為 32767。 只有當您使用 2.0 版的 Patchwiz.dll,而且 Properties 數據表中的 MinimumRequiredMsiVersionPatchwiz.dll 設定為 200 時,此字段才能為 null。
-
DiskPrompt
-
安裝程式會將此值輸入新 Media 數據表 記錄的 DiskPrompt 字段。
-
VolumeLabel
-
安裝程式會將此值輸入新媒體記錄的 VolumeLabel 字段。
言論
修補程式會將 .msp 檔案中的封包名稱新增至新增至 Media 數據表之新記錄的 [封包] 字段。 因為它是內嵌的封包,因此名稱前面會加上 『#』 字元。 修補程式會將 屬性新增至 Media 數據表中新記錄的 [來源] 字段。 沒有任何兩個修補程式具有相同的來源屬性。
在映射系列內共用的檔案,在家族的每個升級映像中,都必須有相同的檔案數據表索引鍵。 在升級映像之間共用的任何檔案數據表索引鍵都必須代表相同的檔案,而且在所有升級的映射中都必須相同。 檔案資料表索引鍵是在 File 資料表的 [檔案] 資料列中輸入的值,。
MediaDiskId 和 FileSequenceStart 的限制為 32767。 若要增加此限制,請將 ImageFamilies 數據表匯出至具有 Msidb.exe 的 .idt 檔案,並將數據行類型從 i2 變更為 i4,或從 I2 變更為 I4,然後將 .idt 檔案匯回 .pcp 資料庫。 在具有不同數據行類型的兩個套件之間無法建立轉換和修補程式。