Om att uppdatera program

Klassen Updater (i paketet flash.desktop) innehåller en metod, update() , som du kan använda för att uppdatera det program som körs för tillfället till en annan version. Om användaren till exempel har en version av AIR-filen ("Sample_App_v2.air") på skrivbordet, uppdaterar följande kod programmet.

ActionScript-exempel:

var updater:Updater = new Updater(); 
var airFile:File = File.desktopDirectory.resolvePath("Sample_App_v2.air"); 
var version:String = "2.01"; 
updater.update(airFile, version);

JavaScript-exempel:

var updater = new air.Updater(); 
var airFile = air.File.desktopDirectory.resolvePath("Sample_App_v2.air"); 
var version = "2.01"; 
updater.update(airFile, version);

Innan ett program använder klassen Updater, måste användaren eller programmet hämta den uppdaterade versionen av AIR-filen till datorn. Mer information finns i avsnittet Hämta en AIR-fil till användarens dator .

Resultat av ett anrop till metoden Updater.update()

När ett program i körningsmiljön anropar metoden update() , stänger körningsmiljön ned programmet och försöker sedan att installera den nya versionen från AIR-filen. Körningsmiljön kontrollerar att det program-id och det utgivar-id som anges i AIR-filen matchar program-id och utgivar-id för det program som anropar metoden update() . (Mer information om program-id och utgivar-id finns under AIR-programbeskrivningsfiler .) Den kontrollerar också att versionssträngen matchar den versions sträng som skickas in i metoden update() . Om installationen genomförs, startar körningsmiljön den nya versionen av programmet. I annat fall (om det inte går att genomföra installationen) öppnar körningsmiljön den befintliga versionen (för-installationsversionen) av programmet.

För att installera en uppdaterad version av ett program i Mac OS måste användaren ha tillräcklig behörighet för att installera i programkatalogen. I Windows och Linux måste användaren ha administrativ behörighet.

Om den uppdaterade programversionen kräver en uppdaterad körningsmiljöversion installeras den nya körningsmiljöversionen. Användaren måste ha administrationsbehörighet för datorn för att kunna uppdatera körtiden.

När ett program testas med ADL, orsakar ett anrop av metoden update() ett körningsundantag.

Om versionssträngen

Den sträng som anges som version -parameter till metoden update() måste matcha strängen i elementet version eller versionNumber i programbeskrivningsfilen för den AIR-fil som ska installeras. Av säkerhetsskäl måste parametern version anges. Genom att begära att versionsnumret i AIR-filen kontrolleras i programmet, kommer inte en äldre version att installeras av misstag. (En äldre version av programmet kan innehålla en säkerhetsrisk som har åtgärdats i det program som är installerat för närvarnade.) Programmet bör också jämföra versionssträngen i AIR-filen med versionssträngen i det installerade programmet för att förhindra nedgraderingsattacker.

I tidigare versioner än AIR 2.5 kan versionssträngen ha vilket format som helst. Strängen kan till exempel ha formatet "2.01" eller "version 2". I AIR 2.5 och senare versioner måste versionssträngen vara en sekvens med högst tre tresiffriga nummer, åtskilda med punkter. Till exempel är ”.0”, ”1.0” och ”67.89.999” alla giltiga versionsnummer. Du bör kontrollera uppdateringens versionssträng innan du uppdaterar programmet.

Om ett Adobe AIR-program hämtar en AIR-fil via webben, är det god praxis att ha en mekanism för att låta webbtjänsten signalera till Adobe AIR-programmet vilken version det är som hämtas. Programmet kan sedan använda denna sträng som version -parameter till metoden update() . Om AIR-filen hämtas på något annat sätt som gör att dess version är okänd, kan AIR-programmet undersöka AIR-filen för att avgöra dess versionsinformation. (En AIR-fil är ett ZIP-komprimerat arkiv, och programbeskrivningsfilen är den andra posten i arkivet.)

Mer information om programbeskrivningsfilen finns i AIR-programbeskrivningsfiler .

Signeringsarbetsflöde för uppdateringar

Att publicera ad hoc-uppdateringar komplicerar arbetet med att hantera flera programversioner, och det blir också svårare att hålla reda på när alla olika certifikat upphör att gälla. Certifikat kan upphöra att gälla innan du kan publicera en uppdatering.

I Adobe AIR-miljön hanteras en programuppdatering som publicerats utan en flyttningssignatur som ett nytt program. Användarna måste avinstallera det aktuella AIR-programmet innan de kan installera programuppdateringen.

Du löser det här problemet genom att överföra varje uppdaterat program med det senaste certifikatet till en separat distributionsadress. Inkludera en funktion som påminner dig om att använda flyttningssignaturer när ditt certifikat är inom 180-dagarsfristen. Mer information finns i Signera en uppdaterad version av ett AIR-program .

Avsnittet ADT-kommandon innehåller information om hur du använder signaturer.

Utför följande åtgärder för att effektivisera arbetet med att använda flyttningssignaturer:

  • Överför varje uppdaterat program till en separat distributionsadress.

  • Överför XML-beskrivningsfilen för uppdateringen och det senaste certifikatet för uppdateringen till samma adress.

  • Signera det uppdaterade programmet med det senaste certifikatet.

  • Använd en flyttningssignatur på det uppdaterade programmet med det certifikat som användes för att signera den tidigare versionen, som finns på en annan adress.