升級數據表
Upgrade 資料表包含 主要升級期間所需的資訊,。 若要完全啟用安裝程序的升級功能,每個套件都應該有 UpgradeCode 屬性和 Upgrade 數據表。 Upgrade 數據表中的每個記錄都會提供升級程式碼、產品版本和語言資訊的特性群組,以識別一組受升級影響的產品。 當 FindRelatedProducts 動作偵測到系統上已安裝的受影響產品時,它會將產品名稱附加至 ActionProperty 數據行中指定的屬性。 RemoveExistingProducts 動作和 MigrateFeatureStates 動作只會移除或移轉 ActionProperty 數據行中列出的產品。
Upgrade 資料表包含下表所示的數據行。
列 | 類型 | 鑰匙 | 空 |
---|---|---|---|
UpgradeCode | GUID | Y | N |
VersionMin | 文字 | Y | Y |
VersionMax | 文字 | Y | Y |
語言 | 文字 | Y | Y |
屬性 | 整數 | Y | N |
刪除 | 格式化 | N | Y |
ActionProperty | 識別碼 | N | N |
列
-
UpgradeCode
-
此數據行中的 UpgradeCode 屬性會指定 FindRelatedProducts 動作所偵測到之所有產品的升級碼。
-
VersionMin
-
FindRelatedProducts偵測到的產品版本範圍下限。 在屬性中輸入 msidbUpgradeAttributesVersionMinInclusive,以在範圍中包含 VersionMin。 如果 VersionMin 等於空字串 (“”), 則會評估為 0。 如果 VersionMin 為 null,FindRelatedProducts 會忽略 msidbUpgradeAttributesVersionMinInclusive,並偵測所有舊版。 VersionMin 和 VersionMax 不得同時為 Null。
VersionMin 必須是有效的產品版本,如 ProductVersion 屬性所述。 請注意,Windows Installer 只會使用產品版本的前三個字段。 如果您在產品版本中包含第四個字段,安裝程式會忽略第四個字段。
-
VersionMax
-
FindRelatedProducts 動作偵測到的產品版本範圍上限。 在屬性中輸入 msidbUpgradeAttributesVersionMaxInclusive,以在範圍中包含 VersionMax。 如果 VersionMax 是空字串 (“),則會評估為 0。 如果 VersionMax 為 null,FindRelatedProducts 會忽略 msidbUpgradeAttributesVersionMaxInclusive,並偵測所有大於(或大於或等於)之 VersionMin 所指定下限的產品版本,並 msidbUpgradeAttributesVersionMinInclusive。 VersionMin 和 VersionMax 不得同時為 Null。
VersionMax 必須是有效的產品版本,如 ProductVersion 屬性所述。 請注意,Windows Installer 只會使用產品版本的前三個字段。 如果您在產品版本中包含第四個字段,安裝程式會忽略第四個字段。
-
語言
-
FindRelatedProducts偵測到的語言集。 輸入以逗號分隔的數值語言標識碼 (LANGID) 清單。 在 [屬性] 中輸入 msidbUpgradeAttributesLanguagesExclusive,以偵測語言中所列的所有語言。 如果 Language 為 null 或空字串 (“),FindRelatedProducts 會忽略 msidbUpgradeAttributesLanguagesExclusive 並偵測所有語言。
-
屬性
-
此資料列包含指定 Upgrade 資料表屬性的位旗標。
位旗標名稱 十進位 十六進位 屬性 msidbUpgradeAttributesMigrateFeatures 1 0x001 藉由啟用 MigrateFeatureStates 動作中的邏輯來移轉功能狀態。 msidbUpgradeAttributesOnlyDetect 2 0x002 偵測產品和應用程式,但不會移除。 msidbUpgradeAttributesIgnoreRemoveFailure 4 0x004 在無法移除產品或應用程式時繼續安裝。 msidbUpgradeAttributesVersionMinInclusive 256 0x100 偵測版本範圍,包括 VersionMin 中的值。 msidbUpgradeAttributesVersionMaxInclusive 512 0x200 偵測版本範圍,包括 VersionMax 中的值。 msidbUpgradeAttributesLanguagesExclusive 1024 0x400 偵測所有語言,但不包括 [語言] 資料行中列出的語言。 -
移除
-
安裝程式會將 REMOVE屬性設定為此資料行中指定的功能。 您可以在執行時間判斷要移除的功能。 在此欄位中輸入 格式化 字串必須評估為以逗號分隔的功能名稱清單。 例如:[Feature1],[Feature2],[Feature3]。 如果欄位包含評估為空字串的格式化文字,則不會移除任何功能。 只有在 Remove 字段是空的時,安裝程式才會設定 REMOVE=ALL。 請注意空字串與空白欄位之間的差異。 如果欄位是空的,則為 null。
-
ActionProperty
-
當 FindRelatedProducts 動作偵測到系統上已安裝的相關產品時,它會將產品名稱附加至此欄位中指定的屬性。 此數據行中指定的屬性必須是公用屬性,而且套件作者必須將 屬性新增至 secureCustomProperties屬性。 Upgrade 數據表中的每個數據列都必須有唯一的 ActionProperty 值。 在 FindRelatedProducts 之後,此屬性的值是清單產品名稱,並以分號分隔(;),在系統上偵測到。
驗證