2010-02-15 15 views
2

Est-il possible d'obtenir la liste des applications AIR installées, éventuellement par un seul fournisseur?Adobe AIR - Liste des applications installées

Ou, est-il possible de vérifier, que ce soit est une application (cochée par nom/une pièce d'identité/fournisseur) installé (cette méthode serait préférable)

Merci.

+0

êtes-vous sur un mac? est-ce pour vous? Je peux penser à la façon de le faire en utilisant Ruby pour vérifier le répertoire Applications, mais je ne pense pas que vous pouvez le faire directement avec, disons, une application AIR vérifiant les applications AIR installées. –

+0

Malheureusement, ce n'est pas seulement pour moi ... J'ai préparé quelques petites applications. Et si quelqu'un utilise plus que 5 applications (petites applications «faites-moi»), il semble fou d'avoir 5 icônes (ou plus) ... alors je vais faire une petite application de démarrage. –

Répondre

3

Vous pouvez le faire:

 private function loadAIR():void 
     { 
      var loader:Loader = new Loader(); 
      var loaderContext:LoaderContext = new LoaderContext(); 
      loaderContext.applicationDomain = ApplicationDomain.currentDomain; 
      loader.contentLoaderInfo.addEventListener(Event.INIT, onInit); 
      loader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"), loaderContext); 
     } 

     private function onInit(e:Event):void 
     { 
      var air:Object = e.target.content; 
      try 
      { 
       air.getApplicationVersion("appID", "publisherID", versionDetectCallback); 
      } 
      catch (e:Error) 
      { 
       trace('air not installed'); 
      } 
     } 

     private function versionDetectCallback(version:String):void 
     { 
      if (version == null) 
      { 
       trace('app not installed'); 
      } 
      else 
      { 
       trace('app version ' + version + ' installed'); 
      } 
     } 
+2

Certains documents Adobe sur le 'air.swf' James utilise ici: http://livedocs.adobe.com/flex/3/html/help.html?content=distributing_apps_3.html –

+1

C'est génial! –

+0

très cool, j'ai hâte de l'essayer. –

1

Ceci est une question intéressante. Je ne pense pas qu'il y ait des endroits sur l'ordinateur du client où Adobe stocke une liste des applications AIR installées sur l'ordinateur, mais vous pouvez le trouver via airdownload.

Une autre alternative décente serait d'utiliser la fonctionnalité Adobe AIR 2.0's Command Line Integration. Avec cela, vous pourriez écrire un script OS-dépendants, mais assez simple (shell, ruby, python, etc.) qui vérifie récursivement certains répertoires pour les fichiers .AIR par nom, et s'ils ne sont pas trouvés, votre application de démarrage pourrait dire "Désolé, nous n'avons pas trouvé ces deux applications: X et Y. Veuillez préciser leur emplacement ou les télécharger ici". Et après avoir spécifié le chemin d'installation, vous pouvez déduire où d'autres applications AIR peuvent être installées. Vous pouvez également installer un fichier texte dans leur répertoire personnel avec la liste des applications AIR que vous avez installées et les lire pour déterminer les étapes à suivre. Ce serait probablement plus facile.

espoir qui aide, Lance

+0

fichier texte semble être une option faisable - je ne sais pas, cependant, s'il n'y en a pas d'autre. Je pense que je vais essayer Google avec des recherches reformulées, merci pour les idées cependant. –

0

Si vous connaissez le appID et le publisherID, adobe.utils.ProductManager pourrait avoir quelque chose de magique pour vous ... mais Productmanager est une telle classe mal documenté que je vais deviner que ma suggestion est une impasse. Je l'ai utilisé une fois pour quelque chose et si je me souviens bien, à cause de l'emplacement du paquet, je n'ai pas eu d'aperçu du code et c'était un processus très tâtonnant.