Search code examples
apache-flexairinstalled-applications

Adobe AIR - listing installed applications


Is it possible to get list of installed AIR applications, optionally only by one vendor?

Or, is it possible to check, whether is one application (checked by name/some id/vendor) installed (this method would be preferred)

Thank you.


Solution

  • You can do this:

            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');
                }
            }