Informazioni sull'aggiornamento delle applicazioni

La classe Updater (del pacchetto flash.desktop) include un unico metodo, update() , che può essere utilizzato per aggiornare l'applicazione in esecuzione a una versione diversa. Ad esempio, se l'utente dispone di una versione del file AIR ("Sample_App_v2.air") che si trova sul desktop, il codice seguente aggiorna l'applicazione.

Esempio ActionScript:

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

Esempio JavaScript:

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

Prima che un'applicazione possa utilizzare la classe Updater, l'utente o l'applicazione deve scaricare la versione aggiornata del file AIR sul computer. Per ulteriori informazioni, vedete Scaricamento di un file AIR nel computer dell'utente .

Risultati della chiamata del metodo Updater.update()

Quando un'applicazione nel runtime chiama il metodo update() , il runtime chiude l'applicazione e quindi tenta di installare la nuova versione dal file AIR. Il runtime controlla che l'ID applicazione e l'ID editore specificati nel file AIR corrispondano a quelli dell'applicazione che chiama il metodo update() . Per informazioni sull'ID applicazione e sull'ID editore, vedete File descrittori delle applicazioni AIR . Il runtime controlla, inoltre, che la stringa della versione corrisponda alla stringa version passata al metodo update() . Se l'installazione viene effettuata correttamente, il runtime apre la nuova versione dell'applicazione. In caso contrario, viene riaperta la versione esistente (preinstallazione) dell'applicazione.

In Mac OS, per installare una versione aggiornata di un'applicazione, l'utente deve disporre dei privilegi di sistema appropriati per l'installazione nella directory dell'applicazione. In Windows e Linux, sono richiesti privilegi di amministratore.

Se la versione aggiornata dell'applicazione richiede una versione aggiornata del runtime, viene installata la nuova versione runtime. Per aggiornare il runtime, l'utente deve disporre dei privilegi amministrativi per il computer in uso.

Durante il test di un'applicazione mediante ADL, una chiamata al metodo update() determina un'eccezione di runtime.

Informazioni sulla stringa della versione

La stringa specificata come parametro version del metodo update() deve corrispondere alla stringa nell'elemento version o versionNumber del file descrittore dell'applicazione per il file AIR da installare. L'indicazione del parametro version è richiesta per motivi di sicurezza. Richiedendo all'applicazione di verificare il numero di versione nel file AIR, l'applicazione evita di installare inavvertitamente una versione vecchia, che potrebbe contenere vulnerabilità di sicurezza successivamente risolte. L'applicazione deve anche confrontare la stringa della versione nel file AIR con quella nell'applicazione installata per evitare attacchi di downgrade.

Prima di AIR 2.5, la stringa di versione può essere in qualsiasi formato. Può essere, ad esempio, "2.01" o "versione 2". A partire da AIR 2.5, la stringa di versione deve essere una sequenza composta da fino a tre serie con un massimo di tre cifre ciascuna, separate da punti. Ad esempio, ".0", "1.0" e "67.89.999" sono tutti numeri di versione validi. Dovete convalidare la stringa della versione di aggiornamento prima di aggiornare l'applicazione.

Se un'applicazione Adobe AIR scarica un file AIR tramite il Web, è opportuno disporre di un meccanismo che consente al servizio Web di inviare una notifica riguardo la versione scaricata. L'applicazione può quindi utilizzare questa stringa come parametro version del metodo update() . Se il file AIR file è ottenuto in modo diverso e la versione del file AIR non è nota, l'applicazione AIR può esaminare il file AIR per determinare la versione (un file AIR è un archivio compresso in formato ZIP e il file descrittore dell'applicazione è il secondo record nell'archivio).

Per ulteriori informazioni sul file descrittore dell'applicazione, vedete File descrittori delle applicazioni AIR .

Flusso di lavoro di firma per gli aggiornamenti delle applicazioni

La pubblicazione di aggiornamenti ad-hoc complica il compito di gestire più versioni delle applicazioni e le date di scadenza dei relativi certificati. I certificati potrebbero infatti scadere prima che possiate pubblicare un aggiornamento.

Il runtime Adobe AIR tratta un aggiornamento di un'applicazione pubblicato senza una firma di migrazione come se fosse una nuova applicazione. Gli utenti devono quindi disinstallare l'applicazione AIR corrente per poter installare l'aggiornamento.

Per risolvere il problema, caricate ogni applicazione aggiornata con il certificato più recente su un URL di distribuzione distinto. Includete un meccanismo che vi ricordi di applicare firme di migrazione quando il certificato entra nel periodo di tolleranza di 180 giorni. Per ulteriori informazioni, vedete Firma di una versione aggiornata di un'applicazione AIR .

Vedete Comandi ADT per informazioni su come applicare le firme.

Effettuate le seguenti operazioni per semplificare il processo di applicazione delle firme di migrazione:

  • Caricate ogni applicazione aggiornata su un URL di distribuzione distinto.

  • Caricate sullo stesso URL il file XML descrittore dell'aggiornamento e il certificato più recente.

  • Firmate l'applicazione aggiornate con il certificato più recente.

  • Applicate una firma di migrazione all'applicazione aggiornata con il certificato utilizzato per firmare la versione precedente caricata su un URL diverso.