I'm struggling to get ApplicationUpdaterUI() working with Flex 4.12 using Flash 
Builder 4.7 and Air 3.1.

I'm getting a Download Failed error (e.g. There was an error downloading the 
update. Error# 16824) when the updater attempts to download the new version.

I'm trying to follow the directions here:

   http://www.adobe.com/devnet/air/articles/air_update_framework.html

as well as here:

   
http://help.adobe.com/en_US/air/build/WS96E10DFB-39A5-4488-A666-15B9B46C5EE8.html


My code is at the bottom of this post.

One interesting issue I see is that the label text in lblAppVersion.text always 
reports version 0.0.0. Note that I did update the xml code on the server to use 
"versionNumber" instead of "version", as well as the AS3 code here:

    lblAppVersion.text = "App version: " + appXML.ns::versionNumber;

but the current version shown in the app as well as the updater UI window 
displays 0.0.0 instead of, say, 1 or 2 etc. (I've tried so many times).

Interestingly, when I run the app in the FB debugger the version number is 
correct; it's only when I download the app from the internet and install it on 
my Mac, then run it, does it always show 0.0.0.

Anyone know what could be causing this (I'm hoping that resolves my error 
above)?

My code...

    private var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();

    private function checkUpdate():void {
       setApplicationVersion();
       appUpdater.updateURL = "https://www.example.com/aa/update.xml";;
       appUpdater.delay=1;
       appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate);
       appUpdater.addEventListener(ErrorEvent.ERROR, onError);
       appUpdater.isCheckForUpdateVisible = false;
       appUpdater.isFileUpdateVisible = false;
       appUpdater.isInstallUpdateVisible = false;
       appUpdater.initialize();
    }

    private function onUpdate(event:UpdateEvent):void {
       appUpdater.checkNow();
    }

    private function onError(event:ErrorEvent):void {
       Alert.show(event.toString());
    }


    private function setApplicationVersion(): void { 
       var appXML:XML = 
NativeApplication.nativeApplication.applicationDescriptor; 
       var ns:Namespace = appXML. namespace (); 
       lblAppVersion.text = "App version: " + appXML.ns::versionNumber; 
    } 

And the update.xml file:

    <?xml version="1.0" encoding="utf-8"?>
    <update xmlns="http://ns.adobe.com/air/framework/update/description/2.5";>
        <versionNumber>10</versionNumber>
        <url>https://www.example.com/aa/myapp.air</url>
        <description><![CDATA[
             This version has fixes for the following known issues:
             *First issue
             *Second issue 
      ]]></description>
    </update>

And I also make sure that my app-app.xml contains the same version number as 
the update.xml file, before I export the release build and move it and the 
update.xml files to the server.


Reply via email to