產生修補程式序列資訊 (PATCHWIZ.DLL)
Windows Installer 3.0 隨附的 PATCHWIZ.DLL 版本可以自動生成修補程式排序資訊,並將新的修補程式添加到 MsiPatchSequence 表格。
將 .pcp 檔案的 Properties Table 中的 SEQUENCE_DATA_GENERATION_DISABLED 屬性設定為 1(一個),以防止自動產生修補程式排序資訊。 如果此屬性不存在,系統會自動產生並新增資訊。
當使用與 Windows Installer 3.0 一同發行的 PATCHWIZ.DLL 自動產生修補程式排序資訊時,會發生下列情況:
TargetImages 表格中列出的每個目標映像的產品代碼,都會在 MsiPatchSequence 表格 中新增一列新的數據。
新增至新資料列中 PatchFamily 資料行的值,會對應至 TargetImages 表格中所列的目標影像之目標產品代碼。
新增至新數據列中時序數據行的值是使用修補程序目標最高的產品版本和產生修補程式的 UTC 時間所產生的。 序列號 <產品次要版本>。<建置主要編號>。<時間戳記 1>。<時間戳記 2>。
- 第一個字段是修補程式目標產品的最高版本產品版本。
- 第二個欄位是修補程式所針對產品的最高版本的主要版本號。
兩個時間戳欄位涵蓋所需的 32 位時間戳,用於計數國際標準時間(UTC)的秒數。
注意
產品版本具有下列格式:<產品主要版本號碼>。<產品次要版本號碼>。<組建主要號碼>。<組建次要號碼>,和版本號碼為 2.1.0.0 的產品比版本號碼為 1.2.0.0 的產品高。
msidbPatchSequenceSupersedeEarlier 屬性會輸入到為 Service Pack (SP) 或次要升級修補程式產生的新行的屬性列中。 msidbPatchSequenceSupersedeEarlier 屬性不會被新增至 QFE 或小型更新補丁。
注意
Service Pack (SP) 應包含之前發行之所有 QFE 的修正。 不過,如果修補程式作者將 .pcp 檔案中的SEQUENCE_DATA_SUPERSEDENCE屬性設定為 0(零)或 1(一),MsiPatchSequence 數據表中所有數據列的 Attributes 數據行會設定為針對 SEQUENCE_DATA_SUPERSEDENCE 指定的值。 需要更多控制權的修補程式作者必須手動撰寫 [屬性] 數據行。
如果您在 .pcp 檔案中包含 PatchSequence 表,則會忽略 SEQUENCE_DATA_GENERATION_DISABLED 屬性,而且 PatchSequence 表中提供的資訊可以添加到修補程式的 MsiPatchSequence 表。