În Expertul soluție pentru pachete Access, câmpul UpgradeCode este utilizat în principal pentru a accepta upgrade-uri majore, deși actualizările mici și minore pot utiliza UpgradeCode pentru validarea de produs. În timpul upgrade-urilor majore, acțiunile FindRelatedProducts, MigrateFeatureStates și RemoveExistingProducts detectează, migrează și elimină versiunile anterioare ale produsului. Acțiunea FindRelatedProducts caută produse care utilizează criterii bazate pe UpgradeCode, ProductLanguage și ProductVersion. Aceste criterii sunt specificate în tabelul Upgrade.
Având în vedere criteriile utilizate de acțiunea FindRelatedProducts , UpgradeCode poate fi același pentru limbi diferite și versiuni ale unui singur produs. Acest lucru se întâmplă deoarece tabelul Upgrade permite diferențierea între produse de-a lungul liniilor de versiune și de limbă.
În versiuni diferite ale aceluiași produs, poate să nu trebuiască niciodată să modificați UpgradeCode. Fiecare produs independent ar trebui să aibă propriul UpgradeCode. O suită de produse ar trebui să aibă, de asemenea, propriul UpgradeCode. Acest lucru permite suitei să facă upgrade versiunilor anterioare ale suitei sau produselor independente, utilizând mai multe rânduri în tabelul Upgrade.
Următoarele două scenarii ilustrează utilizarea UpgradeCode.
-
Produsul A și Produsul B au fost livrate cu același ProductLanguage, ProductVersion și UpgradeCode. Produsul A și Produsul B au coduri de produs diferite. Deoarece produselor li s-a atribuit același UpgradeCode, tabelul Upgrade nu poate fi creat pentru a diferenția versiunea mai veche de Produs A de versiunea mai veche de Produs B. În acest caz, nu veți putea avea o instalare de upgrade a Produsului A care ignoră Produsul B. Deoarece acestea au fost produse diferite, acestea ar trebui să aibă fiecare atribuit un upgradeCode diferit.
-
Versiunile în limba engleză și franceză ale Produsului A au fost livrate cu aceeași ProductVersion și UpgradeCode. Atât versiunile în limba engleză, cât și în franceză ale produsului A au diferite ProductLanguages și ProductCodes. Chiar dacă ambele versiuni de limbă engleză și franceză au același UpgradeCode, este posibil să creați tabelul Upgrade, astfel încât să fie detectată și actualizată doar versiunea mai veche în limba engleză și versiunea în limba franceză mai veche să fie ignorată. Versiunile lingvistice diferite ale unui produs pot utiliza același UpgradeCode.