共用方式為


MsiPatchSequence 數據表

MsiPatchSequence 數據表包含安裝程式需要的所有資訊,以判斷相對於所有其他修補程式 小型更新 修補程式的應用程式順序。 數據表必須位於修補程式檔案的資料庫中,而不是在修補程式中的轉換中。 安裝程式會在套用 主要升級 修補程式時忽略此數據表。 套用 次要升級 修補程式時,安裝程式只會使用此數據表來識別不得排序的已取代修補程式。

MsiPatchSequence 資料表 具有下列數據行。

類型 鑰匙
PatchFamily 識別碼 Y N
ProductCode GUID Y Y
序列 版本 N N
屬性 整數 N Y

 

PatchFamily

指定修補程式是這個欄位中名為的修補程式系列成員。 以相同產品版本為目標之相同修補程式系列中的修補程式會依 Sequence 數據行中的值排序。 修補程式系列中的修補程式會依遞增順序套用至目標產品。 PatchFamily 也用來判斷要取代哪些修補程式。 如果修補程式套用至多個產品或包含多個修正程式,則修補程式可能會列在多個數據列中,且屬於多個修補程式系列。

Windows Installer 不會以與其他 PatchFamily 值相等比較以外的任何方式解譯 PatchFamily 值。 PatchFamily 值在以修補程式集為目標的 ProductCode 中必須是唯一的。 在複雜的修補案例中,PatchFamily標識符可能需要全域唯一。

ProductCode

此欄位中的值是選擇性的。 如果在此欄位中輸入 原始程式碼 GUID,且修補程式會套用至指定的產品,則會將修補程式排序並套用為指定 PatchFamily 的成員。 如果在此欄位中輸入了產品代碼 GUID,而且修補程式未套用至 ProductCode 指定的產品,則會忽略此數據列。 如果 ProductCode 中的值為 NULL,則不論產品名稱為何,修補程式都會排序並套用為 PatchFamily 的所有目標成員。

修補程式可以有相同 PatchFamily 中的多個數據列,以及修補程式目標之每個產品的不同 ProductCode。 PatchFamily 的一個數據列可以指定 ProductCode 的 NULL。 如果目標產品與非 NULL ProductCode 的數據列相符,安裝程式會使用相符的數據列,並忽略具有 NULL ProductCode 的數據列。 如果指定的產品名稱都不符合目標,則不論產品代碼為何,修補程式都會排序並套用為 PatchFamily 的所有目標成員。

序列

Sequence 資料行中的值會指定指定 PatchFamily 內這個修補程式的順序。 Sequence 中的值會以 Version 數據的格式表示。 值包含介於 1 到 4 個字段,且每個欄位的範圍為 0 到 65535。 PatchFamily 的成員會依遞增 Sequence 值的順序排序並套用至目標產品。 例如,下列六個值正在增加:1、1.1、1.2、2.01、2.01.1、2.01.1。

屬性

數據列中存在 msidbPatchSequenceSupersedeEarlier 屬性,表示 小型更新 修補程式取代相同 PatchFamily 中所有修補程式所提供的更新。 此修補程式包含指定 PatchFamily 中先前修補程式所提供的所有修正。 此屬性並不表示此修補程式在所有情況下都會取代先前的修補程式,因為先前的修補程式可以屬於多個修補程式系列。

小型更新 修補程式無法在任何情況下取代 次要升級主要升級 修補程式,即使 msidbPatchSequenceSupersedeEarlier 也一樣。

名字 價值 意義
0x00 表示簡單的排序值。
msidbPatchSequenceSupersedeEarlier 0x01 指出取代此系列中先前修補程式的修補程式。

 

驗證

ICE03
ICE06

Windows Installer 2.0 和更早版本中不支援