JerzySeweryn

personal notes

Adobe AiR update

main Application:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" initialize="checkForAppUpdate()">
     <mx:Script>
          <![CDATA[
               import air.update.events.UpdateEvent;
               import air.update.ApplicationUpdaterUI;

               private var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI;

// checks to see if an updated version of the app is up.

               private function checkForAppUpdate():void
               {
                    appUpdater.configurationFile = new File(app:/updateConfig.xml);
                    appUpdater.isCheckForUpdateVisible = false;
                    appUpdater.initialize();
                    appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate);
                    appUpdater.addEventListener(ErrorEvent.ERROR, onError);

               }

// if there's an error to the update show an alert

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

// check to see if updated is needed

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

          ]]>
     </mx:Script>
</mx:WindowedApplication>

updateConfig.xml (with your src, compiled at build):

<?xml version="1.0" encoding="utf-8"?>

<configuration xmlns="http://ns.adobe.com/air/framework/update/configuration/1.0">

<url>http://somewhereOnTheInternet.com/aDirectory/aDirectory/appUpdate.xml</url>
<delay>0.5</delay>
<defaultUI>
          <dialog name="checkForUpdate" visible="false" />
          <dialog name="downloadUpdate" visible="false" />
          <dialog name="downloadProgress" visible="false" />
          <dialog name="installUpdate" visible="false" />
          <dialog name="fileUpdate" visible="false" />
          <dialog name="unexpectedError" visible="true" />
     </defaultUI>
</configuration>

Delay is per day. .5 is half day, .02 = half an hour.
appUpdate.xml (to be placed somewhere on your site):

<?xml version="1.0" encoding="utf-8"?>
     <update xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
          <version>v1.0</version>
          <url>http://somewhereOnTheInternet.com/aDirectory/aDirectory/myApplication.air</url>
          <description>
               <![CDATA[
               This is where your description goes.
               ]]>
          </description>
     </update>

Apt-mirror setup local ubuntu package repository

Server setup

sudo apt-get install apache2
sudo apt-get install apt-mirror
sudo vim /etc/apt/mirror.list
deb http://archive.ubuntu.com/ubuntu karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu karmic-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu karmic-updates main restricted universe multiverse
sudo apt-mirror
sudo vim /etc/cron.d/apt-mirror
0 4     * * *   apt-mirror      /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
#daily 04:00 AM
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu/ /var/www/ubuntu

Client setup

sudo vim /etc/apt/source.list
deb http://192.168.1.3/ubuntu karmic main restricted universe multiverse
deb http://192.168.1.3/ubuntu karmic-updates main restricted universe multiverse
deb http://192.168.1.3/ubuntu karmic-security main restricted universe multiverse
sudo links http://192.168.1.3/ubuntu