air.updateApplicationUpdater La classe ApplicationUpdater définit la fonctionnalité de base de la structure de mise à jour des applications Adobe® AIR®, mais ne fournit aucune interface utilisateur par défaut.flash.events:EventDispatcher La classe ApplicationUpdater définit la fonctionnalité de base de la structure de mise à jour des applications Adobe® AIR®, mais ne fournit aucune interface utilisateur par défaut (la classe ApplicationUpdaterUI comprend une fonctionnalité de mise à jour et une interface utilisateur par défaut).

Cette classe est incluse dans le fichier applicationupdater_ui.swc compris dans le kit de développement d’Adobe AIR. Le fichier applicationupdater_ui.swc se trouve dans le répertoire frameworks/libs/air du kit de développement d’AIR.

Adobe® Flex™ Builder™ charge cette classe automatiquement lors de la création d’un projet pour Adobe AIR. Vous devez inclure le fichier SWC lors de la compilation de l’application au moyen du kit de développement d’Adobe® Flex™.

La gestion des mises à jour d’applications peut être compliquée. La structure de mise à jour AIR fournit des API pour aider les développeurs à créer des fonctions de mise à jour puissantes dans les applications AIR. La structure de mise à jour AIR aide les développeurs à effectuer les opérations suivantes :

  • Vérifier périodiquement la présence de mises à jour en fonction d’un intervalle ou selon les besoins de l’utilisateur ;

  • Télécharger les fichiers AIR (mises à jour) à partir d’une source Web ;

  • Avertir l’utilisateur lors de la première exécution de la version récemment installée ;

  • Confirmer que l’utilisateur souhaite rechercher des mises à jour ;

  • Donner à l’utilisateur des informations sur la version de la nouvelle mise à jour ;

  • Informer l’utilisateur de la progression du téléchargement et afficher les informations d’erreur.

La structure d’application de mise à jour AIR vous permet de stocker des informations sur la version de mise à jour d’une application AIR dans des fichiers de configuration XML simples. Le paramétrage des fichiers de configuration et l’inclusion de code de base permettent à l’utilisateur final de bénéficier d’une fonction de mise à jour optimisée dans la plupart des applications.

Utilisez la classe AIRUpdater si vous souhaitez définir votre propre interface utilisateur en vue de l’utiliser avec la structure de mise à jour AIR.

Le processus de mise à jour passe par plusieurs états. La propriété currentState de l’objet updater reflète l’état actuel du programme de mise à jour :

Valeur de currentState Description « UNINITIALIZED »Le programme de mise à jour n’a pas été initialisé.« INITIALIZING »Le programme de mise à jour est en cours d’initialisation.« READY »Le programme de mise à jour a été initialisé.« BEFORE_CHECKING »Le programme de mise à jour n’a pas encore recherché le fichier descripteur de mise à jour.« CHECKING »Le programme de mise à jour recherche actuellement le fichier descripteur de mise à jour.« AVAILABLE »Le fichier descripteur de mise à jour est disponible.« DOWNLOADING »Le programme de mise à jour télécharge actuellement le fichier AIR.« DOWNLOADED »Le programme de mise à jour a téléchargé le fichier AIR.« INSTALLING »Le programme de mise à jour installe actuellement le fichier AIR.« PENDING_INSTALLING »Le programme de mise à jour a été initialisé et des mises à jour sont en attente.

Lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), une exception IllegalOperationError est renvoyée lors d’une tentative de mise à jour de l’application.

La structure de mise à jour AIR est uniquement prise en charge dans le profil de bureau. Elle n’est prise en charge ni pour les applications de bureau étendu (applications installées avec un programme d’installation natif) ni sur le profil mobile (applications iPhone écrites avec ActionScript 3.0). Vérifiez la propriété Updater.isSupported à l’exécution pour savoir si la structure de mise à jour est prise en charge.

Pour plus d’informations sur l’utilisation de la structure de mise à jour AIR, voir le chapitre « Mise à jour d’applications AIR » du document Développement d’applications Adobe AIR avec Adobe Flash.

ApplicationUpdaterUIflash.desktop.Updatererror Distribué lorsqu’une erreur s’est produite lors de l’initialisation ou la mise à jour (si une erreur inattendue est survenue).flash.events.ErrorEvent.ERRORflash.events.ErrorEvent Distribué lorsqu’une erreur s’est produite lors de l’initialisation ou la mise à jour (si une erreur inattendue est survenue). progress Distribué lors du téléchargement du fichier de mise à jour.flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent Distribué lors du téléchargement du fichier de mise à jour. fileUpdateError Distribué lorsqu’une erreur se produit lors de la validation du fichier transmis en tant que paramètre airFile dans un appel de la méthode installFromAIRFile().air.update.events.StatusFileUpdateErrorEvent.FILE_UPDATE_ERRORair.update.events.StatusFileUpdateErrorEvent Distribué lorsqu’une erreur se produit lors de la validation du fichier transmis en tant que paramètre airFile dans un appel de la méthode installFromAIRFile(). fileUpdateStatus Distribué après que le programme de mise à jour a correctement validé le fichier lors de l’appel de la méthode installFromAIRFile().air.update.events.StatusFileUpdateEvent.FILE_UPDATE_STATUSair.update.events.StatusFileUpdateEvent Distribué après que le programme de mise à jour a correctement validé le fichier lors de l’appel de la méthode installFromAIRFile(). downloadError Distribué lorsqu’une erreur se produit lors de la connexion ou du téléchargement du fichier de mise à jour.air.update.events.DownloadErrorEvent.DOWNLOAD_ERRORair.update.events.DownloadErrorEvent Distribué lorsqu’une erreur se produit lors de la connexion ou du téléchargement du fichier de mise à jour. Distribué également en cas d’états HTTP non valides (par exemple, Erreur 404 - Fichier introuvable).

Lorsque cet événement est distribué, le minuteur périodique est automatiquement redémarré (si le paramètre delay est supérieur à 0).

updateError Distribué lorsqu’une erreur se produit lors d’une tentative de téléchargement ou d’analyse du fichier descripteur de mise à jour.air.update.events.StatusUpdateErrorEvent.UPDATE_ERRORair.update.events.StatusUpdateErrorEvent Distribué lorsqu’une erreur se produit lors d’une tentative de téléchargement ou d’analyse du fichier descripteur de mise à jour.

Lorsque le programme de mise à jour distribue cet événement, le minuteur périodique est automatiquement redémarré (si le paramètre delay est supérieur à 0). L’application doit envisager le masquage de toutes les boîtes de dialogue d’erreur lorsque le programme de mise à jour distribue un événement checkForUpdate.

updateStatus Distribué une fois que le programme de mise à jour a correctement téléchargé et interprété le fichier descripteur de mise à jour.air.update.events.StatusUpdateEvent.UPDATE_STATUSair.update.events.StatusUpdateEvent Distribué une fois que le programme de mise à jour a correctement téléchargé et interprété le fichier descripteur de mise à jour.

Par défaut, le téléchargement de la mise à jour commence si la propriété available de l’objet StatusUpdateEvent est définie sur true. Ce comportement par défaut peut être évité uniquement en utilisant la classe ApplicationUpdater, et non la classe ApplicationUpdatorUI.

beforeInstall Distribué juste avant l’installation de la mise à jour, après l’appel de la méthode installUpdate().air.update.events.UpdateEvent.BEFORE_INSTALLair.update.events.UpdateEvent Distribué juste avant l’installation de la mise à jour, après l’appel de la méthode installUpdate(). Il est parfois utile d’éviter l’installation de la mise à jour ; l’utilisateur risque en effet de perdre tous les travaux en cours lorsque le moteur d’exécution quitte l’application afin d’installer la mise à jour.

L’appel de la méthode preventDefault() de cet événement repousse l’installation jusqu’au prochain redémarrage. Si vous appelez la méthode preventDefault(), aucun autre processus de mise à jour ne peut démarrer pendant la session active (via un appel de la méthode installUpdate() ou suite à une vérification périodique).

Par défaut, la bibliothèque ApplicationUpdater télécharge le fichier descripteur de mise à jour. Vous pouvez appeler la méthode preventDefault() pour annuler ce comportement.

downloadComplete Distribué une fois le téléchargement du fichier de mise à jour terminé.air.update.events.UpdateEvent.DOWNLOAD_COMPLETEair.update.events.UpdateEvent Distribué une fois le téléchargement du fichier de mise à jour terminé.

Cet événement est généralement utilisé pour afficher un message invitant l’utilisateur à procéder à l’installation de la mise à jour.

Par défaut, la bibliothèque ApplicationUpdater appelle automatiquement la méthode installUpdate().

downloadStart Distribué après un appel de la méthode downloadUpdate() et une fois la connexion au serveur établie.air.update.events.UpdateEvent.DOWNLOAD_STARTair.update.events.UpdateEvent Distribué après un appel de la méthode downloadUpdate() et une fois la connexion au serveur établie. Lors de l’utilisation de la bibliothèque ApplicationUpdater, le gestionnaire d’événement de cet événement peut afficher une barre de progression afin d’indiquer à l’utilisateur l’état du téléchargement. checkForUpdate Distribué avant le début du processus de mise à jour, juste avant que le programme de mise à jour ne tente de télécharger le fichier descripteur de mise à jour.air.update.events.UpdateEvent.CHECK_FOR_UPDATEair.update.events.UpdateEvent Distribué avant le début du processus de mise à jour, juste avant que le programme de mise à jour ne tente de télécharger le fichier descripteur de mise à jour. Le programme de mise à jour peut distribuer cet événement suite à un appel direct de la méthode checkNow() ou suite à l’expiration du minuteur de vérification périodique. initialized Distribué une fois l’initialisation terminée.air.update.events.UpdateEvent.INITIALIZEDair.update.events.UpdateEvent Distribué une fois l’initialisation terminée. ApplicationUpdater Fonction du constructeur. Fonction du constructeur. cancelUpdate Annule le processus de mise à jour. Annule le processus de mise à jour. L’appel de cette méthode annule tous les téléchargements en attente, supprime tous les fichiers téléchargés incomplets et redémarre le minuteur de vérification périodique.

Vous pouvez à tout moment annuler le processus de mise à jour, sauf lorsque l’état de la machine est « UNINITIALIZED » ou « INITIALIZING ». Cette méthode est sans effet lorsqu’elle est appelée dans l’état « UNINITIALIZED » ou « INITIALIZING ».

checkForUpdate Télécharge et interprète de façon asynchrone le fichier descripteur de mise à jour. Télécharge et interprète de façon asynchrone le fichier descripteur de mise à jour. Lorsque cette méthode est appelée, le programme de mise à jour passe à l’état « CHECKING ». Appelez cette méthode uniquement si l’événement checkForUpdate a été annulé.

Cette méthode n’est exécutée que lorsque l’état du programme de mise à jour est « BEFORE_CHECKING ».

updateStatusair.update.events:StatusUpdateEventLe programme de mise à jour a correctement téléchargé et interprété le fichier descripteur de mise à jour. Le programme de mise à jour a correctement téléchargé et interprété le fichier descripteur de mise à jour.updateErrorair.update.events:StatusUpdateErrorEventUne erreur s’est produite lors d’une tentative de téléchargement ou d’analyse du fichier descripteur de mise à jour. Une erreur s’est produite lors d’une tentative de téléchargement ou d’analyse du fichier descripteur de mise à jour.
checkNow Démarre le processus de mise à jour. Démarre le processus de mise à jour. L’appel de cette méthode n’arrête pas le minuteur périodique. Toutefois, la méthode détecte qu’un processus de mise à jour est en cours d’exécution et ignore l’itération actuelle.

Cette méthode n’est exécutée que lorsque l’état actuel est « READY ».

Lorsque cette méthode est exécutée, il est possible que l’objet updater distribue l’événement suivant :

checkForUpdateair.update.events:UpdateEventDistribué juste avant le début du processus de mise à jour. Distribué juste avant le début du processus de mise à jour.
downloadUpdate Télécharge de façon asynchrone le fichier de mise à jour. Télécharge de façon asynchrone le fichier de mise à jour. Lorsque cette méthode est appelée, la machine passe à l’état « DOWNLOADING ». Cette méthode ne doit être appelée que si l’événement StatusUpdateEvent.UPDATE_STATUS a été annulé alors que la propriété available de l’événement était définie sur true.

Cette méthode n’est exécutée que lorsque l’état actuel est « AVAILABLE ».

downloadStartair.update.events:UpdateEventDistribué une fois la connexion au serveur établie. Distribué une fois la connexion au serveur établie.progressflash.events:ProgressEventDistribué une fois l’initialisation terminée. Distribué une fois l’initialisation terminée.downloadErrorair.update.events:DownloadErrorEventDistribué lorsqu’une erreur se produit lors de la connexion ou du téléchargement du fichier de mise à jour. Distribué également en cas d’états HTTP non valides (par exemple, Erreur 404 - Fichier introuvable). Distribué lorsqu’une erreur se produit lors de la connexion ou du téléchargement du fichier de mise à jour.
initialize Initialise le programme de mise à jour. Initialise le programme de mise à jour. L’appel de cette méthode a les effets suivants :

  1. Il initialise la structure d’application de mise à jour, et installe de manière silencieuse et synchrone les mises à jour en attente. Vous devez appeler cette méthode au démarrage de l’application, car elle risque de redémarrer l’application.

  2. Il vérifie si une mise à jour a été reportée et, le cas échéant, procède à son installation.

  3. Si une erreur s’est produite lors d’une mise à jour antérieure, il supprime le fichier de mise à jour et les informations de version de la zone de stockage.

  4. Si le minuteur périodique a expiré, il lance le processus de mise à jour ; dans le cas contraire, il démarre le minuteur périodique. Néanmoins, lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), une exception IllegalOperationError est renvoyée lors d’une tentative de mise à jour de l’application.

initializedair.update.events:UpdateEventL’initialisation est terminée. L’initialisation est terminée.errorflash.events:ErrorEventUne erreur s’est produite lors de l’initialisation. Une erreur s’est produite lors de l’initialisation.
installFromAIRFile Lance le processus de mise à jour à l’aide d’un fichier AIR local.fileflash.filesystem:FileLe fichier AIR local à installer. Lance le processus de mise à jour à l’aide d’un fichier AIR local.

L’appel de cette méthode est sans effet si un processus de mise à jour est en cours d’exécution (si l’état n’est pas "DOWNLOADED").

Cette fonction est utile pour une application dont l’élément customUpdateUI est défini sur true dans le fichier descripteur d’application.

Lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), l’appel de cette méthode renvoie une exception IllegalOperationError.

fileUpdateStatusair.update.events:StatusFileUpdateEventDistribué après que le programme de mise à jour valide correctement le fichier AIR. Distribué après que le programme de mise à jour valide correctement le fichier AIR.updateErrorair.update.events:StatusFileUpdateErrorEventDistribué lorsqu’une erreur se produit lors d’une tentative d’analyse du fichier descripteur de mise à jour. Distribué lorsqu’une erreur se produit lors d’une tentative d’analyse du fichier descripteur de mise à jour.
installUpdate Installe le fichier de mise à jour. Installe le fichier de mise à jour. Lorsque cette méthode est appelée, la machine passe à l’état « INSTALLING » ; l’appel ne doit être effectué que si l’événement downLoadComplete a été annulé.

Appelez cette méthode lorsque l’état du programme de mise à jour est « DOWNLOADED ». Si vous appelez cette méthode dans un autre état, rien ne se produit.

Lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), l’appel de cette méthode renvoie une exception IllegalOperationError.

beforeInstallair.update.events:UpdateEventDistribué juste avant l’installation de la mise à jour. Il est parfois utile d’éviter l’installation de la mise à jour ; l’utilisateur risque en effet de perdre tous les travaux en cours lorsque le moteur d’exécution quitte l’application afin d’installer la mise à jour. Distribué juste avant l’installation de la mise à jour.
configurationFile L’emplacement du fichier de configuration qui définit les valeurs des propriétés delay et updateURL.flash.filesystem:File L’emplacement du fichier de configuration qui définit les valeurs de delay et updateURL. Si cette propriété pointe vers un fichier non existant, l’appel de la méthode initialize() renvoie une exception Error.

Voici un exemple de fichier de configuration :

<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0" > <url>app:/server/update.xml</url> <delay>1</delay> </configuration>

Plutôt que de charger un fichier de configuration, vous pouvez utiliser le code ActionScript pour définir les propriétés delay et updateURL.

delayupdateURL
currentState L’état interne du programme de mise à jour.String L’état interne du programme de mise à jour. La propriété peut être définie sur les valeurs suivantes :

  • "UNINITIALIZED" : le programme de mise à jour n’a pas été initialisé.

  • "INITIALIZING" : le programme de mise à jour est en cours d’initialisation.

  • "READY" : le programme de mise à jour a été initialisé.

  • "BEFORE_CHECKING" : le programme de mise à jour n’a pas encore recherché le fichier descripteur de mise à jour.

  • "CHECKING" : le programme de mise à jour recherche actuellement le fichier descripteur de mise à jour.

  • "AVAILABLE" : le fichier descripteur de mise à jour est disponible.

  • "DOWNLOADING" : le programme de mise à jour télécharge actuellement le fichier AIR.

  • "DOWNLOADED" : le programme de mise à jour a téléchargé le fichier AIR.

  • "INSTALLING" : le programme de mise à jour installe actuellement le fichier AIR.

  • "PENDING_INSTALLING"  : le programme de mise à jour a été initialisé et des mises à jour sont en attente.

currentVersion La version actuelle de l’application.String La version actuelle de l’application. Cette propriété est définie lors d’un appel de la méthode initialize(). Elle est définie sur la version du fichier descripteur d’application. delay Intervalle entre les vérifications périodiques de nouvelles mises à jour, en jours.Number0 Intervalle entre les vérifications périodiques de nouvelles mises à jour, en jours.

Une valeur de 0 (valeur par défaut) indique que le minuteur n’est pas actif et que, par conséquent, aucune vérification périodique n’a lieu. Cet intervalle peut être défini à l’aide de cette propriété ou via le fichier de configuration. Si les deux méthodes sont utilisées lors de la définition de la valeur, la valeur définie à l’aide de la propriété est utilisée.

isFirstRun S’il s’agit de la première exécution après la réussite (true) ou l’échec (false) d’une mise à jour.Boolean S’il s’agit de la première exécution après la réussite (true) ou l’échec (false) d’une mise à jour. Le programme de mise à jour définit cette valeur lors de l’appel de la méthode initialize(). Le développeur doit vérifier que la propriété isFirstRun est définie sur true au cas où il soit nécessaire de migrer des données d’une version à l’autre. wasPendingUpdateisNewerVersionFunction Une fonction que le programme de mise à jour devrait utiliser pour effectuer des comparaisons.Function Une fonction que le programme de mise à jour devrait utiliser pour effectuer des comparaisons. Par défaut, la structure de mise à jour effectue une comparaison de version afin de détecter si la version du site distant est plus récente que la version de l’application installée. Cependant, la comparaison par défaut ne correspond parfois pas au modèle de contrôle de version du développeur. Définissez cette propriété afin de fournir une nouvelle fonction qui effectue la comparaison.

La fonction de comparaison par défaut prend en charge les versions de type x.y.z, où x, y et z peuvent contenir des lettres et des chiffres. La fonction de comparaison par défaut reconnaît certaines conditions spéciales. Si la fonction de test détecte "alpha" , "beta" ou "rc" dans les chaînes de version, l’ordre est le suivant : alpha < beta < rc.

Le code suivant définit une fonction personnalisée, customFn, pour l’objet updater appUpdate. La fonction d’exemple est délibérément simple. Votre fonction personnalisée doit renvoyer une valeur booléenne en fonction des règles de votre modèle de contrôle de version. appUpdate.isNewerVersionFunction = customFn; function customFn (currentVersion:String, updateVersion:String):Boolean { return updateVersion > currentVersion; }
previousApplicationStorageDirectory L’emplacement précédent du répertoire de stockage de l’application, si celui-ci a changé après une mise à jour.flash.filesystem:File L’emplacement précédent du répertoire de stockage de l’application, si celui-ci a changé après une mise à jour. L’emplacement du répertoire de stockage de l’application change après une mise à niveau avec une migration de certificats. Si aucun certificat n’est migré, le répertoire de stockage de l’application ne change pas lorsque l’utilisateur met l’application à jour. et cette propriété est définie sur null. Cette propriété est définie lors d’un appel de la méthode initialize().

Un développeur peut signer une nouvelle version d’une application AIR à l’aide d’un nouveau certificat s’il utilise l’option -migrate lors de la mise en package du fichier AIR avec l’outil ADT. Si une nouvelle version d’une application AIR utilise un nouveau certificat de signature, le répertoire de stockage local de l’application change lorsque l’utilisateur installe la nouvelle version. Utilisez cette propriété pour transférer les données de l’ancien répertoire de stockage de l’application vers le nouveau répertoire de stockage de l’application (File.applicationStorageDirectory). Pour plus d’informations, voir la section « Signature d’un fichier AIR pour modifier le certificat de l’application » dans le chapitre « Création d’une application AIR à l’aide des outils de la ligne de commande » du guide de développeur d’Adobe AIR.

previousVersion La version précédente de l’application.String La version précédente de l’application. Cette propriété est définie lors d’un appel de la méthode initialize(). Renvoie la version précédente de l’application avant la mise à niveau (définie uniquement si la propriété isfirstRun est true) ; dans le cas contraire, elle est définie sur null. updateDescriptor Le contenu du fichier descripteur de mise à jour téléchargé depuis l’URL de mise à jour.XML Le contenu du fichier descripteur de mise à jour téléchargé depuis l’URL de mise à jour. Cette propriété est non-nulle uniquement si l’objet updater distribue un événement updateStatus. updateURL L’emplacement du fichier descripteur de mise à jour.String L’emplacement du fichier descripteur de mise à jour. Tous les emplacements valides pour un chemin URLRequest sont acceptés. Il s’agit du seul paramètre obligatoire requis pas le programme de mise à jour. Vous pouvez définir l’URL de mise à jour via la propriété ou via le fichier de configuration. Lorsque la valeur est définie à l’aide des deux méthodes, le programme de mise à jour utilise la valeur définie avec cette propriété. wasPendingUpdate S’il existait une mise à jour reportée, que son installation ait échoué (true) ou non (false).Boolean S’il existait une mise à jour reportée, que son installation ait échoué (true) ou non (false). Le programme de mise à jour définit cette propriété lors d’un appel de la méthode initialize(). Utilisez les propriétés wasPendingUpdate et isFirstRun pour vérifier si l’installation d’une mise à jour a échoué (auquel cas, wasPendingUpdate est définie sur true et isFirstRun sur false). isFirstRun
ApplicationUpdaterUI La classe ApplicationUpdaterUI définit la fonctionnalité de base de la structure de mise à jour des applications Adobe&#xAE; AIR&#xAE; et fournit une interface utilisateur par défaut.flash.events:EventDispatcher La classe ApplicationUpdaterUI définit la fonctionnalité de base de la structure de mise à jour des applications Adobe® AIR® et fournit une interface utilisateur par défaut (la classe ApplicationUpdater définit la fonctionnalité de mise à jour sans implémenter d’interface utilisateur par défaut).

Cette classe est incluse dans le fichier applicationupdater_ui.swc compris dans le kit de développement d’Adobe AIR. Le fichier applicationupdater_ui.swc se trouve dans le répertoire frameworks/libs/air du kit de développement d’AIR. La version qui se trouve dans le répertoire frameworks/libs/air du kit de développement d’AIR 2 est destinée au développement de Flex 4. Si vous utilisez Flex 3, utilisez la version qui se trouve dans le sous-répertoire frameworks/libs/air/flex3.

Adobe® Flex™ Builder™ charge cette classe automatiquement lors de la création d’un projet pour Adobe AIR. Vous devez inclure le fichier SWC lors de la compilation de l’application au moyen du kit de développement d’Adobe® Flex™.

La gestion des mises à jour d’applications peut être compliquée. La structure de mise à jour AIR fournit des API pour aider les développeurs à créer des fonctions de mise à jour puissantes dans les applications AIR. La structure de mise à jour AIR aide les développeurs à effectuer les opérations suivantes :

  • Vérifier périodiquement la présence de mises à jour en fonction d’un intervalle ou selon les besoins de l’utilisateur ;

  • Télécharger les fichiers AIR (mises à jour) à partir d’une source Web ;

  • Avertir l’utilisateur lors de la première exécution de la version récemment installée ;

  • Confirmer que l’utilisateur souhaite rechercher des mises à jour ;

  • Donner à l’utilisateur des informations sur la version de la nouvelle mise à jour ;

  • Informer l’utilisateur de la progression du téléchargement et afficher les informations d’erreur.

La structure d’application de mise à jour AIR vous permet de stocker des informations sur la version de mise à jour d’une application AIR dans des fichiers de configuration XML simples. Le paramétrage des fichiers de configuration et l’inclusion de code de base permettent à l’utilisateur final de bénéficier d’une fonction de mise à jour optimisée dans la plupart des applications.

La classe AIRUpdateUI implémente une interface utilisateur par défaut que votre application peut utiliser. Elle donne à l’utilisateur des informations et des options de base relatives aux mises à jour de l’application.

Le processus de mise à jour passe par plusieurs états :

Etat Description UninitializedLe programme de mise à jour n’a pas été initialisé.InitializingLe programme de mise à jour est en cours d’initialisation.ReadyLe programme de mise à jour a été initialisé.Before checkingLe programme de mise à jour n’a pas encore recherché le fichier descripteur de mise à jour.CheckingLe programme de mise à jour recherche actuellement le fichier descripteur de mise à jour.AvailableLe fichier descripteur de mise à jour est disponible.DownloadingLe programme de mise à jour télécharge actuellement le fichier AIR.DownloadedLe programme de mise à jour a téléchargé le fichier AIR.InstallingLe programme de mise à jour installe actuellement le fichier AIR.Pending installLe programme de mise à jour a été initialisé et des mises à jour sont en attente.

Lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), une exception IllegalOperationError est renvoyée lors d’une tentative de mise à jour de l’application.

La structure de mise à jour AIR est uniquement prise en charge dans le profil de bureau. Elle n’est prise en charge ni pour les applications de bureau étendu (applications installées avec un programme d’installation natif) ni sur le profil mobile (applications iPhone écrites avec ActionScript 3.0). Vérifiez la propriété Updater.isSupported à l’exécution pour savoir si la structure de mise à jour est prise en charge.

Pour plus d’informations sur l’utilisation de la structure de mise à jour AIR, voir le chapitre « Mise à jour d’applications AIR » du document Développement d’applications Adobe AIR avec Adobe Flex.

Pour plus d’informations sur l’utilisation de la structure de mise à jour AIR, voir le chapitre « Mise à jour d’applications AIR » du document Développement d’applications Adobe AIR avec Adobe Flash.

ApplicationUpdaterflash.desktop.Updatererror Distribué lorsqu’une erreur s’est produite lors de l’initialisation ou la mise à jour (si une erreur inattendue est survenue).flash.events.ErrorEvent.ERRORflash.events.ErrorEvent Distribué lorsqu’une erreur s’est produite lors de l’initialisation ou la mise à jour (si une erreur inattendue est survenue). progress Distribué lors du téléchargement du fichier de mise à jour.flash.events.ProgressEvent.PROGRESSflash.events.ProgressEvent Distribué lors du téléchargement du fichier de mise à jour. fileUpdateError Distribué lorsqu’une erreur se produit lors de la validation du fichier transmis en tant que paramètre airFile dans un appel de la méthode installFromAIRFile().air.update.events.StatusFileUpdateErrorEvent.FILE_UPDATE_ERRORair.update.events.StatusFileUpdateErrorEvent Distribué lorsqu’une erreur se produit lors de la validation du fichier transmis en tant que paramètre airFile dans un appel de la méthode installFromAIRFile(). fileUpdateStatus Distribué après que le programme de mise à jour a correctement validé le fichier lors de l’appel de la méthode installFromAIRFile().air.update.events.StatusFileUpdateEvent.FILE_UPDATE_STATUSair.update.events.StatusFileUpdateEvent Distribué après que le programme de mise à jour a correctement validé le fichier lors de l’appel de la méthode installFromAIRFile(). downloadError Distribué lorsqu’une erreur se produit lors de la connexion ou du téléchargement du fichier de mise à jour.air.update.events.DownloadErrorEvent.DOWNLOAD_ERRORair.update.events.DownloadErrorEvent Distribué lorsqu’une erreur se produit lors de la connexion ou du téléchargement du fichier de mise à jour. Distribué également en cas d’états HTTP non valides (par exemple, Erreur 404 - Fichier introuvable).

Lorsque cet événement est distribué, le minuteur périodique est automatiquement redémarré (si le paramètre delay est supérieur à 0).

updateError Distribué lorsqu’une erreur se produit lors d’une tentative de téléchargement ou d’analyse du fichier descripteur de mise à jour.air.update.events.StatusUpdateErrorEvent.UPDATE_ERRORair.update.events.StatusUpdateErrorEvent Distribué lorsqu’une erreur se produit lors d’une tentative de téléchargement ou d’analyse du fichier descripteur de mise à jour.

Lorsque le programme de mise à jour distribue cet événement, le minuteur périodique est automatiquement redémarré (si le paramètre delay est supérieur à 0). L’application doit envisager le masquage de toutes les boîtes de dialogue d’erreur lorsque le programme de mise à jour distribue un événement checkForUpdate.

updateStatus Distribué une fois que le programme de mise à jour a correctement téléchargé et interprété le fichier descripteur de mise à jour.air.update.events.StatusUpdateEvent.UPDATE_STATUSair.update.events.StatusUpdateEvent Distribué une fois que le programme de mise à jour a correctement téléchargé et interprété le fichier descripteur de mise à jour. beforeInstall Distribué juste avant l’installation de la mise à jour, après l’appel de la méthode installUpdate().air.update.events.UpdateEvent.BEFORE_INSTALLair.update.events.UpdateEvent Distribué juste avant l’installation de la mise à jour, après l’appel de la méthode installUpdate(). Il est parfois utile d’éviter l’installation de la mise à jour ; l’utilisateur risque en effet de perdre tous les travaux en cours lorsque le moteur d’exécution quitte l’application afin d’installer la mise à jour.

L’appel de la méthode preventDefault() de cet événement repousse l’installation jusqu’au prochain redémarrage. Si vous appelez la méthode preventDefault(), aucun autre processus de mise à jour ne peut démarrer pendant la session active (via un appel de la méthode installUpdate() ou suite à une vérification périodique).

downloadComplete Distribué une fois le téléchargement du fichier de mise à jour terminé.air.update.events.UpdateEvent.DOWNLOAD_COMPLETEair.update.events.UpdateEvent Distribué une fois le téléchargement du fichier de mise à jour terminé. downloadStart Distribué après un appel de la méthode downloadUpdate() et une fois la connexion au serveur établie.air.update.events.UpdateEvent.DOWNLOAD_STARTair.update.events.UpdateEvent Distribué après un appel de la méthode downloadUpdate() et une fois la connexion au serveur établie. Lors de l’utilisation de la bibliothèque ApplicationUpdater, le gestionnaire d’événement de cet événement peut afficher une barre de progression afin d’indiquer à l’utilisateur l’état du téléchargement. checkForUpdate Distribué avant le début du processus de mise à jour, juste avant que le programme de mise à jour ne tente de télécharger le fichier descripteur de mise à jour.air.update.events.UpdateEvent.CHECK_FOR_UPDATEair.update.events.UpdateEvent Distribué avant le début du processus de mise à jour, juste avant que le programme de mise à jour ne tente de télécharger le fichier descripteur de mise à jour. Le programme de mise à jour peut distribuer cet événement suite à un appel direct de la méthode checkNow() ou suite à l’expiration du minuteur de vérification périodique. initialized Distribué une fois l’initialisation terminée.air.update.events.UpdateEvent.INITIALIZEDair.update.events.UpdateEvent Distribué une fois l’initialisation terminée.

Les propriétés en lecture seule de cet événement sont les suivantes :

  • isFirstRun (Boolean) Définie sur true s’il s’agit de la première exécution après une mise à jour réussie, sur false dans le cas contraire.

  • previousVersion (String) La version précédente de l’application avant la mise à niveau (définie uniquement si isfirstRun est true).

  • currentVersion (String) La version du fichier descripteur d’application de la version actuellement installée.

ApplicationUpdaterUI Fonction du constructeur. Fonction du constructeur. addResources Ajoute de façon dynamique un nouveau regroupement de ressources pour la langue spécifiée.langStringLe code de langue (par exemple, "ro" pour le roumain). resObjectL’objet contient les clés et les valeurs pour la translation. Les clés sont celles du fichier des propriétés de la langue. Le tableau suivant répertorie les clés disponibles (noms de propriété).

Clé Valeur française Boîte de dialogue Description appWidth 530 Tout Largeur de la boîte de dialogue. titleWindow Mise à jour: Tout Affichée dans la barre de titre de la fenêtre native avant le nom de l’application. titleCheck Rechercher les mises à jour Rechercher les mises à jour Titre de la boîte de dialogue. msgCheck Autoriser l’application à rechercher des mises à jours ? Rechercher les mises à jour Message de la boîte de dialogue. btnCheck Rechercher les mises à jour Rechercher les mises à jour Etiquette du bouton Rechercher les mises à jour. btnCancel Annuler Toutes les boîtes de dialogue avec un bouton Annuler Etiquette du bouton Annuler. titleCheckNoUpdates Aucune mise à jour n’est disponible Rechercher les mises à jour - Aucune mise à jour n’est disponible Titre de la boîte de dialogue. msgCheckNoUpdates Aucune mise à jour n’est disponible pour cette application. Rechercher les mises à jour - Aucune mise à jour n’est disponible Message de la boîte de dialogue. btnClose Fermer Toutes les boîtes de dialogue avec un bouton Fermer Etiquette du bouton Fermer. titleCheckError Erreur de mise à jour Rechercher les mises à jour - Erreur de connexion Titre de la boîte de dialogue. msgCheckError Une erreur s’est produite pendant la recherche des mises à jour. Erreur nº {0} Rechercher les mises à jour - Erreur de connexion Message de la boîte de dialogue. {0} sera remplacé par l’ID d’erreur. titleUpdate Mise à jour disponible Mise à jour disponible Titre de la boîte de dialogue. msgUpdate Une version mise à jour de l’application est prête à être téléchargée. Mise à jour disponible Message de la boîte de dialogue. lblApplication Application: Mise à jour disponible Etiquette affichée avant le nom de l’application. lblInstalledVersion Version installée: Mise à jour disponible Etiquette affichée avant la version installée. lblAvailableVersion Version de mise à jour: Mise à jour disponible Etiquette affichée avant la version de mise à jour. btnDownload Télécharger maintenant Mise à jour disponible Etiquette du bouton Télécharger maintenant. btnDownloadLater Télécharger plus tard Mise à jour disponible Etiquette du bouton Télécharger plus tard. lnkReleaseNotes Notes de parution Tout avec le lien Notes de parution Le nom du lien « Notes de parution ». titleProgress Progression du téléchargement... Progression du téléchargement Titre de la boîte de dialogue. msgProgress Téléchargement de la mise à jour en cours Progression du téléchargement Message de la boîte de dialogue. titleDownloadError Téléchargement terminé Erreur de téléchargement Titre de la boîte de dialogue. msgDownloadError Une erreur s’est produite pendant le téléchargement de la mise à jour. Erreur nº {0} Erreur de téléchargement Message de la boîte de dialogue. {0} sera remplacé par l’ID d’erreur. titleInstall Installer la mise à jour Installer la mise à jour Titre de la boîte de dialogue. msgInstall La mise à jour de l’application est téléchargée et prête à être installée. Installer la mise à jour Message de la boîte de dialogue. btnInstall Installer maintenant Installer la mise à jour Etiquette du bouton « Installer » btnInstallLater Attendre le redémarrage Installer la mise à jour Etiquette du bouton « Attendre le redémarrage » titleFileUpdate Mise à jour disponible Fichier - Mise à jour disponible Titre de la boîte de dialogue. msgFileUpdate Le fichier contient une version mise à jour de l’application. Installer ? Fichier - Mise à jour disponible Message de la boîte de dialogue. lblFile Fichier: Fichier - Mise à jour disponible Etiquette affichée avant le nom de fichier titleFileNoUpdate Aucune mise à jour disponible Fichier - Aucune mise à jour n’est disponible Titre de la boîte de dialogue. msgFileNoUpdate Le fichier ne contient pas de version plus récente de l’application. Fichier - Aucune mise à jour n’est disponible Message de la boîte de dialogue. titleFileError Erreur de fichier Fichier - Erreur Titre de la boîte de dialogue. msgFileError Une erreur s’est produite pendant la validation du fichier de mise à jour. Erreur nº {0} Fichier - Erreur Message de la boîte de dialogue. {0} sera remplacé par l’ID d’erreur. titleUnexpectedError Erreur imprévue Erreur imprévue Titre de la boîte de dialogue. msgUnexpectedError Une erreur imprévue s’est produite. Erreur nº {0} Erreur imprévue Message de la boîte de dialogue. {0} sera remplacé par l’ID d’erreur.

Ajoute de façon dynamique un nouveau regroupement de ressources pour la langue spécifiée. Les développeurs JavaScript utilisent cette méthode pour ajouter de façon dynamique une nouvelle langue aux boîtes de dialogue que l’IU du programme de mise à jour de l’application affiche (les développeurs Flex peuvent directement ajouter une nouvelle langue au regroupement de ressources « ApplicationUpdaterDialogs »).
localeChain
cancelUpdate Annule le processus de mise à jour. Annule le processus de mise à jour. L’appel de cette méthode annule tous les téléchargements en attente, supprime tous les fichiers téléchargés incomplets et redémarre le minuteur de vérification périodique.

Vous pouvez à tout moment annuler le processus de mise à jour, sauf lorsque l’état de la machine est « uninitialized » ou « initializing ». Cette méthode est sans effet lorsqu’elle est appelée dans l’état « uninitialized » ou « initializing ».

checkNow Démarre le processus de mise à jour. Démarre le processus de mise à jour. L’appel de cette méthode n’arrête pas le minuteur périodique. Toutefois, la méthode détecte qu’un processus de mise à jour est en cours d’exécution et ignore l’itération actuelle.

Cette méthode n’est exécutée que lorsque l’état actuel est « Ready ».

Lorsque cette méthode est exécutée, il est possible que l’objet updater distribue l’événement suivant :

checkForUpdateair.update.events:UpdateEventDistribué juste avant le début du processus de mise à jour. Distribué juste avant le début du processus de mise à jour.
initialize Initialise le programme de mise à jour. Initialise le programme de mise à jour. L’appel de cette méthode a les effets suivants :

  1. Il initialise la structure d’application de mise à jour, et installe de manière silencieuse et synchrone les mises à jour en attente. Vous devez appeler cette méthode au démarrage de l’application, car elle risque de redémarrer l’application.

  2. Il vérifie si une mise à jour a été reportée et, le cas échéant, procède à son installation.

  3. Si une erreur s’est produite lors d’une mise à jour antérieure, il supprime le fichier de mise à jour et les informations de version de la zone de stockage.

  4. Si le minuteur périodique a expiré, il lance le processus de mise à jour ; dans le cas contraire, il démarre le minuteur périodique. Néanmoins, lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), une exception IllegalOperationError est renvoyée lors d’une tentative de mise à jour de l’application.

initializedair.update.events:UpdateEventL’initialisation est terminée. L’initialisation est terminée.errorflash.events:ErrorEventUne erreur s’est produite lors de l’initialisation. Une erreur s’est produite lors de l’initialisation.
installFromAIRFile Lance le processus de mise à jour à l’aide d’un fichier AIR local.fileflash.filesystem:FileLe fichier AIR local à installer. Lance le processus de mise à jour à l’aide d’un fichier AIR local.

L’appel de cette méthode est sans effet si un processus de mise à jour est en cours d’exécution (si l’état n’est pas "Downloaded").

Cette fonction est utile pour une application dont l’élément customUpdateUI est défini sur true dans le fichier descripteur d’application.

Lorsqu’une application est testée à l’aide de l’application de débogage du lanceur AIR (ADL), l’appel de cette méthode renvoie une exception IllegalOperationError.

fileUpdateStatusair.update.events:StatusFileUpdateEventDistribué après que le programme de mise à jour valide correctement le fichier AIR. Distribué après que le programme de mise à jour valide correctement le fichier AIR.updateErrorair.update.events:StatusFileUpdateErrorEventDistribué lorsqu’une erreur se produit lors d’une tentative d’analyse du fichier descripteur de mise à jour. Distribué lorsqu’une erreur se produit lors d’une tentative d’analyse du fichier descripteur de mise à jour.
configurationFile L’emplacement du fichier de configuration qui définit les valeurs des propriétés delay et updateURL.flash.filesystem:File L’emplacement du fichier de configuration qui définit les valeurs de delay et updateURL. Cette propriété comporte également des paramètres permettant de déterminer si l’application affiche plusieurs boîtes de dialogue de confirmation lors du processus de mise à jour. Si cette propriété pointe vers un fichier non existant, l’appel de la méthode initialize() renvoie une exception Error.

Voici un exemple de fichier de configuration :

<?xml version="1.0" encoding="utf-8"?> <configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0" > <url>app:/server/update.xml</url> <delay>1</delay> <defaultUI> <dialog name="checkForUpdate" visible="true" /> <dialog name="downloadUpdate" visible="false" /> <dialog name="downloadProgress" visible="true" /> <dialog name="installUpdate" visible="true" /> </defaultUI> </configuration>

Plutôt que de charger un fichier de configuration, vous pouvez utiliser le code ActionScript pour définir les propriétés suivantes de l’objet ApplicationUpdaterUI : delay, isCheckForUpdateVisible, isDownloadProgressVisible, isDownloadUpdateVisible, isFileUpdateVisible, isInstallUpdateVisible et updateURL.

delayupdateURL
currentVersion La version actuelle de l’application.String La version actuelle de l’application. Cette propriété est définie lors d’un appel de la méthode initialize(). Elle est définie sur la version du fichier descripteur d’application. delay Intervalle entre les vérifications périodiques de nouvelles mises à jour, en jours.Number0 Intervalle entre les vérifications périodiques de nouvelles mises à jour, en jours.

Une valeur de 0 (valeur par défaut) indique que le minuteur n’est pas actif et que, par conséquent, aucune vérification périodique n’a lieu. Le délai peut être défini à l’aide de cette propriété ou via le fichier de configuration. Si les deux méthodes sont utilisées lors de la définition de la valeur, la valeur définie à l’aide de cette propriété est utilisée.

configurationFile
isCheckForUpdateVisible Active la visibilité des boîtes de dialogue Rechercher les mises à jour, Aucune mise à jour n’est disponible et Erreur de mise à jour.Boolean Active la visibilité des boîtes de dialogue Rechercher les mises à jour, Aucune mise à jour n’est disponible et Erreur de mise à jour. Lorsque cette propriété est définie sur true, le programme de mise à jour affiche ces boîtes de dialogue lors du processus de mise à jour. Cette propriété peut également être définie dans le fichier de configuration de la mise à jour. Une valeur définie à l’aide de cette propriété remplace le paramètre dans le fichier de configuration de la mise à jour. isDownloadProgressVisible Active la visibilité de la boîte de dialogue de téléchargement de la mise à jour.Boolean Active la visibilité de la boîte de dialogue de téléchargement de la mise à jour. Lorsque cette propriété est définie sur true, le programme de mise à jour affiche cette boîte de dialogue lors du processus de mise à jour. Cette propriété peut également être définie dans le fichier de configuration de la mise à jour. Une valeur définie à l’aide de cette propriété remplace le paramètre dans le fichier de configuration de la mise à jour. isDownloadUpdateVisible Active la visibilité de la boîte de dialogue de téléchargement de la mise à jour.Boolean Active la visibilité de la boîte de dialogue de téléchargement de la mise à jour. Lorsque cette propriété est définie sur true, le programme de mise à jour affiche ces boîtes de dialogue lors du processus de mise à jour. Cette propriété peut également être définie dans le fichier de configuration de la mise à jour. Une valeur définie à l’aide de cette propriété remplace le paramètre dans le fichier de configuration de la mise à jour. isFileUpdateVisible Active la visibilité des boîtes de dialogue Fichier - Mise à jour, Fichier - Aucune mise à jour n’est disponible et Erreur de fichier.Boolean Active la visibilité des boîtes de dialogue Fichier - Mise à jour, Fichier - Aucune mise à jour n’est disponible et Erreur de fichier. Lorsque cette propriété est définie sur true, le programme de mise à jour affiche ces boîtes de dialogue lors du processus de mise à jour. Cette propriété peut également être définie dans le fichier de configuration de la mise à jour. Une valeur définie à l’aide de cette propriété remplace le paramètre dans le fichier de configuration de la mise à jour. isFirstRun S’il s’agit de la première exécution après la réussite (true) ou l’échec (false) d’une mise à jour.Boolean S’il s’agit de la première exécution après la réussite (true) ou l’échec (false) d’une mise à jour. Le programme de mise à jour définit cette valeur lors de l’appel de la méthode initialize(). Le développeur doit vérifier que la propriété isFirstRun est définie sur true au cas où il soit nécessaire de migrer des données d’une version à l’autre. wasPendingUpdateisInstallUpdateVisible Active la visibilité de la boîte de dialogue Installer la mise à jour.Boolean Active la visibilité de la boîte de dialogue Installer la mise à jour. Lorsque cette propriété est définie sur true, le programme de mise à jour affiche cette boîte de dialogue lors du processus de mise à jour. Cette propriété peut également être définie dans le fichier de configuration de la mise à jour. Une valeur définie à l’aide de cette propriété remplace le paramètre dans le fichier de configuration de la mise à jour. isNewerVersionFunction Une fonction que le programme de mise à jour devrait utiliser pour effectuer des comparaisons.Function Une fonction que le programme de mise à jour devrait utiliser pour effectuer des comparaisons. Par défaut, la structure de mise à jour effectue une comparaison de version afin de détecter si la version du site distant est plus récente que la version de l’application installée. Cependant, la comparaison par défaut ne correspond parfois pas au modèle de contrôle de version du développeur. Définissez cette propriété afin de fournir une nouvelle fonction qui effectue la comparaison.

La fonction de comparaison par défaut prend en charge les versions de type x.y.z, où x, y et z peuvent contenir des lettres et des chiffres. La fonction de comparaison par défaut reconnaît certaines conditions spéciales. Si la fonction de test détecte "alpha" , "beta" ou "rc" dans les chaînes de version, l’ordre est le suivant : alpha < beta < rc.

Le code suivant définit une fonction personnalisée, customFn, pour l’objet updater appUpdate. La fonction d’exemple est délibérément simple. Votre fonction personnalisée doit renvoyer une valeur booléenne en fonction des règles de votre modèle de contrôle de version. appUpdate.isNewerVersionFunction = customFn; function customFn (currentVersion:String, updateVersion:String):Boolean { return updateVersion > currentVersion; }
isUnexpectedErrorVisible Active la visibilité de la boîte de dialogue Erreur imprévue.Boolean Active la visibilité de la boîte de dialogue Erreur imprévue. Lorsque cette propriété est définie sur true, le programme de mise à jour de l’application affiche cette boîte de dialogue lors du processus de mise à jour. Cette propriété peut également être définie dans le fichier de configuration de la mise à jour. Une valeur définie à l’aide de cette propriété remplace le paramètre dans le fichier de configuration de la mise à jour. isUpdateInProgress Propriété Boolean, définie sur true si une mise à jour est en cours d’exécution, sur false dans le cas contraire.Boolean Propriété Boolean, définie sur true si une mise à jour est en cours d’exécution, sur false dans le cas contraire. localeChain Tableau définissant la chaîne de paramètres régionaux utilisée par l’interface utilisateur.Array Tableau définissant la chaîne de paramètres régionaux utilisée par l’interface utilisateur. En règle générale, seuls les développeurs JavaScript (HTML) utilisent cette propriété.

Les développeurs Flex peuvent utiliser ResourceManager pour gérer la chaîne de paramètres régionaux.

Par défaut, dans une application basée sur HTML, les langues sont triées en fonction des langues du tableau Capabilities.languages et des dix langues prises en charge par l’interface utilisateur. Si aucune correspondance n’est trouvée, la langue de l’interface utilisateur est l’anglais.

Cet exemple JavaScript utilise la structure de localisation HTML d’AIR incluse dans le kit de développement AIR. Il trie les langues en fonction de la liste des langues, puis définit l’anglais comme langue par défaut :

appUpdater.addResources("ro_RO", {titleCheck: "Titlu", msgCheck: "Mesaj", btnCheck: "Buton"}); appUpdater.addResources("hu", {titleCheck: "Cím", msgCheck: "Üzenet"}); var languages = ["ro", "hu"]; languages = languages.concat(air.Capabilities.languages); var sortedLanguages = air.Localizer.sortLanguagesByPreference(languages, air.Capabilities.language, "en-US"); sortedLanguages.push("en-US"); appUpdater.localeChain = sortedLanguages;
addResources()
previousApplicationStorageDirectory L’emplacement précédent du répertoire de stockage de l’application, si celui-ci a changé après une mise à jour.flash.filesystem:File L’emplacement précédent du répertoire de stockage de l’application, si celui-ci a changé après une mise à jour. L’emplacement du répertoire de stockage de l’application change après une mise à niveau avec une migration de certificats. Si aucun certificat n’est migré, le répertoire de stockage de l’application ne change pas lorsque l’utilisateur met l’application à jour. et cette propriété est définie sur null. Cette propriété est définie lors d’un appel de la méthode initialize().

Un développeur peut signer une nouvelle version d’une application AIR à l’aide d’un nouveau certificat s’il utilise l’option -migrate lors de la mise en package du fichier AIR avec l’outil ADT. Si une nouvelle version d’une application AIR utilise un nouveau certificat de signature, le répertoire de stockage local de l’application change lorsque l’utilisateur installe la nouvelle version. Utilisez cette propriété pour transférer les données de l’ancien répertoire de stockage de l’application vers le nouveau répertoire de stockage de l’application (File.applicationStorageDirectory). Pour plus d’informations, voir la section « Signature d’un fichier AIR pour modifier le certificat de l’application » dans le chapitre « Création d’une application AIR à l’aide des outils de la ligne de commande » du guide de développeur d’Adobe AIR.

previousVersion La version précédente de l’application.String La version précédente de l’application. Cette propriété est définie lors d’un appel de la méthode initialize(). Renvoie la version précédente de l’application avant la mise à niveau (définie uniquement si la propriété isfirstRun est true) ; dans le cas contraire, elle est définie sur null. updateDescriptor Le contenu du fichier descripteur de mise à jour téléchargé depuis l’URL de mise à jour.XML Le contenu du fichier descripteur de mise à jour téléchargé depuis l’URL de mise à jour. Cette propriété est non-nulle uniquement après que l’objet updater distribue un événement updateStatus. updateURL L’emplacement du fichier descripteur de mise à jour.String L’emplacement du fichier descripteur de mise à jour. Tous les emplacements valides pour un chemin URLRequest sont acceptés. Il s’agit du seul paramètre obligatoire requis pas le programme de mise à jour. Vous pouvez définir l’URL de mise à jour via la propriété ou via le fichier de configuration. Lorsque la valeur est définie à l’aide des deux méthodes, le programme de mise à jour utilise la valeur définie avec cette propriété. configurationFilewasPendingUpdate S’il existait une mise à jour reportée, que son installation ait échoué (true) ou non (false).Boolean S’il existait une mise à jour reportée, que son installation ait échoué (true) ou non (false). Le programme de mise à jour définit cette propriété lors d’un appel de la méthode initialize(). Utilisez les propriétés wasPendingUpdate et isFirstRun pour vérifier si l’installation d’une mise à jour a échoué (auquel cas, wasPendingUpdate est définie sur true et isFirstRun sur false). isFirstRun