使用 UpgradeCode
UpgradeCode主要用於支援主要升級,雖然小型和次要升級修補程式可能會使用UpgradeCode進行產品驗證。 在主要升級期間, FindRelatedProducts、 MigrateFeatureStates和 RemoveExistingProducts 動作會偵測、移轉和移除舊版的產品。 FindRelatedProducts 巨集指令會根據 UpgradeCode、 ProductLanguage 和 ProductVersion來搜尋使用準則 的產品。 這些準則是在 升級 資料表中指定。
根據 FindRelatedProducts 巨集指令所使用的準則, UpgradeCode 對於單一產品的不同語言和版本可以相同。 這是因為 升級 資料表允許沿著版本和語言行區分產品。
在相同產品的不同版本中,您可能永遠不需要變更 UpgradeCode。 每個獨立產品都應該有自己的 UpgradeCode。 產品套件也應該有自己的 UpgradeCode。 這麼做可讓套件使用升級 資料表中的多個資料列來升級舊版套件或獨立產品。
下列兩個案例說明 UpgradeCode的使用方式。
- 產品 A 和產品 B 隨附于相同的 ProductLanguage、 ProductVersion和 UpgradeCode。 產品 A 和產品 B 有不同的ProductCode。 由於產品已指派相同的 UpgradeCode,因此無法撰寫 Upgrade 資料表來區分舊版 Product A 與舊版產品 B。在此情況下,您將無法安裝忽略產品 B 的產品 A 升級。因為這些是不同的產品,所以應該每個產品都已指派不同的 UpgradeCode。
- 產品 A 的英文和法文版本隨附于相同的 ProductVersion 和 UpgradeCode。 產品 A 的英文和法文版本都有不同的 ProductLanguages 和 ProductCodes。 雖然英文和法文語言版本都共用相同的 UpgradeCode,但可以撰寫 Upgrade 資料表, 讓只會偵測及升級較舊的英文版本,並忽略較舊的法文版本。 不同的產品語言版本可以使用相同的 UpgradeCode。