升級資料表
升級資料表包含 主要升級期間所需的資訊。 若要完整啟用安裝程式的升級功能,每個套件都應該有 UpgradeCode 屬性和 Upgrade 資料表。 升級資料表中的每個記錄都會提供升級程式碼、產品版本及語言資訊的特性組合,用來識別一組受升級影響的產品。 當 FindRelatedProducts 巨集指令偵測到系統上已安裝的受影響產品時,它會將產品名稱附加至 ActionProperty 資料行中指定的屬性。 RemoveExistingProducts巨集指令和MigrateFeatureStates巨集指令只會移除或移轉 ActionProperty 資料行中列出的產品。
Upgrade 資料表包含下表中顯示的資料行。
資料行 | 類型 | 答案 | Nullable |
---|---|---|---|
UpgradeCode | GUID | Y | N |
VersionMin | Text | Y | Y |
VersionMax | Text | Y | Y |
語言 | Text | 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 資料表屬性的位旗標。
位旗標名稱 Decimal 十六進位 屬性 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 之後,此屬性的值是清單產品代碼,並以分號 (;) ,在系統上偵測到。
驗證