Menggunakan UpgradeCode
UpgradeCode terutama digunakan untuk mendukung peningkatan utama, meskipun patch peningkatan kecil dan kecil dapat menggunakan UpgradeCode untuk validasi produk. Selama peningkatan besar, tindakan FindRelatedProducts, MigrateFeatureStates, dan RemoveExistingProducts mendeteksi, memigrasikan, dan menghapus versi produk sebelumnya. Tindakan FindRelatedProducts mencari produk yang menggunakan kriteria berdasarkan UpgradeCode, ProductLanguage, dan ProductVersion. Kriteria ini ditentukan dalam tabel Peningkatan .
Mengingat kriteria yang digunakan oleh tindakan FindRelatedProducts , UpgradeCode dapat sama untuk bahasa dan versi yang berbeda dari satu produk. Ini karena tabel Peningkatan memungkinkan pembedaan antara produk di sepanjang versi dan baris bahasa.
Di berbagai versi produk yang sama, Anda mungkin tidak perlu mengubah UpgradeCode. Setiap produk yang berdiri sendiri harus memiliki UpgradeCode sendiri. Rangkaian produk juga harus memiliki UpgradeCode sendiri. Melakukannya akan memungkinkan suite untuk meningkatkan versi suite sebelumnya atau produk mandiri dengan menggunakan beberapa baris dalam tabel Peningkatan.
Dua skenario berikut mengilustrasikan penggunaan UpgradeCode.
- Produk A dan Produk B dikirim dengan ProductLanguage, ProductVersion, dan UpgradeCode yang sama. Produk A dan Produk B memiliki ProductCodes yang berbeda. Karena produk diberi UpgradeCode yang sama, tabel Peningkatan tidak dapat ditulis untuk membedakan versi Produk A yang lebih lama dari versi Produk B yang lebih lama. Dalam hal ini, Anda tidak akan dapat memiliki penginstalan peningkatan Produk A yang mengabaikan Produk B. Karena ini adalah produk yang berbeda, mereka masing-masing harus diberi UpgradeCode yang berbeda.
- Produk versi Bahasa Inggris dan Prancis dikirim dengan ProductVersion dan UpgradeCode yang sama. Baik versi Bahasa Inggris maupun Prancis dari Produk A memiliki ProductLanguages dan ProductCodes yang berbeda. Meskipun versi bahasa Inggris dan Prancis memiliki UpgradeCode yang sama, dimungkinkan untuk menulis tabel Peningkatan sedih sehingga hanya versi bahasa Inggris yang lebih lama yang akan terdeteksi dan ditingkatkan dan versi Prancis yang lebih lama diabaikan. Versi bahasa yang berbeda dari produk dapat menggunakan UpgradeCode yang sama.