באשף Access Package Solution, השדה UpgradeCode משמש בעיקר לתמיכה בשדרוגים משמעותיים, למרות שעדכונים קטנים ומשניים עשויים להשתמש ב- UpgradeCode לאימות מוצר. במהלך שדרוגים ראשיים, הפעולות FindRelatedProducts, MigrateFeatureStates ו- RemoveExistingProducts מזהות, מעבירות ומסירות גירסאות קודמות של המוצר. הפעולה FindRelatedProducts מחפש מוצרים המשתמשים בקריטריונים בהתבסס על UpgradeCode, ProductLanguage ו- ProductVersion. קריטריונים אלה מצוינים בטבלת השדרוג.
בהינתן הקריטריונים שבהם משתמשת הפעולה FindRelatedProducts , UpgradeCode יכול להיות זהה עבור שפות וגירסאות שונות של מוצר יחיד. זאת משום שטבלת השדרוג מאפשרת הת ההבדלים בין מוצרים לאורך קווי גירסה ושפה.
בגירסאות שונות של אותו מוצר, ייתכן שלעולם לא תצטרך לשנות את UpgradeCode. לכל מוצר עצמאי צריך להיות UpgradeCode משלו. חבילת מוצר צריכה לכלול גם קוד שדרוג משלה. פעולה זו מאפשרת לחבילה לשדרג גירסאות קודמות של החבילה או המוצרים העצמאיים באמצעות שורות מרובות בטבלת השדרוג.
שני התרחישים הבאים מדגימים את השימוש ב - UpgradeCode.
-
מוצר א' ומוצר ב' נשלחו עם אותו ProductLanguage, ProductVersion ו - UpgradeCode. למוצר א' ומוצר ב' יש קודים שונים של מוצר. מאחר שהוקצה למוצרים אותו UpgradeCode, לא ניתן לערוך את טבלת השדרוג כדי להבחין בין הגירסה הקודמת של מוצר א' לבין הגירסה הקודמת של מוצר ב'. במקרה זה, לא תוכל להתקין שדרוג של מוצר א' המתעלם מ-Product B. מאחר שהם היו מוצרים שונים, היה עליהם להקצות לכל אחד מהם קוד שדרוג שונה.
-
הגירסאות באנגלית ובצרפתית של Product A נשלחו עם אותו ProductVersion ו- UpgradeCode. הן הגירסאות באנגלית והן בצרפתית של Product A כוללות ProductLanguages ו- ProductCodes שונים. למרות שגרסאות השפה באנגלית ובצרפתית משותפות לאותו UpgradeCode, ניתן לערוך את טבלת השדרוג כך שרק הגירסה הקודמת של השפה האנגלית ת שזוהתה ושודרגה והמערכת תתעלם מהגירסה הצרפתית הישנה יותר. גירסאות שפה שונות של מוצר יכולות להשתמש באותו UpgradeCode.