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