AIR - ソフトウェアの更新

| | トラックバック(0)

以前書いた社内アプリを仕事の息抜きに着々とバージョンアップする。

バージョンアップの度にいちいちairファイルを落としてもらって、インストールしてもらうのが皆さんに申し訳なかったので、アプリ自体が勝手にアップデート作業をするようにした。ていうかこれ最初に実装すべき機能だろ...。仕組みは、サーバ上に最新バージョンを書いた設定ファイルを置いて、起動時にそれを読み、自身のバージョンより新しければairファイルをダウンロードし、勝手にインストールして再起動。AIRのUpdaterという機能で、とても便利。

このGoogle Analytics AIRというのを使ってたら、毎日勝手にバージョンアップが来るからどうやってんのと思って調べてみたら割と簡単に出来た(ちなみにこのソフトの完成度が凄い)。

ソースは以下。softwareUpdate();を実行すれば、ダウンロード開始→再起動まで勝手にやってくれる。

function softwareUpdate(){
    //.airファイルのURLを設定
    var airUrl:String = "http://hogehoge.com/hogehoge.air";
    var urlReq:URLRequest = new URLRequest(airUrl);
    var urlStream:URLStream = new URLStream();
    var fileData:ByteArray = new ByteArray();
    urlStream.addEventListener(Event.COMPLETE, loadComplete);

    //ファイルダウンロード開始
    urlStream.load(urlReq);

    //データ取得完了
    function loadComplete(e:Event):void{
        urlStream.readBytes(fileData, 0, urlStream.bytesAvailable);
        makeAirFile();
    }

    //ダウンロードしたデータを元に、デスクトップに.airファイルを生成
    function makeAirFile():void{
        //デスクトップに"hogehoge.air"を作る
        var file:File = File.desktopDirectory.resolvePath("hogehoge.air");
        var fileStream:FileStream = new FileStream();
        fileStream.addEventListener(Event.CLOSE, makeComplete);
        fileStream.openAsync(file, FileMode.WRITE);
        fileStream.writeBytes(fileData, 0, fileData.length);
        fileStream.close();
    }

    //デスクトップにhogehoge.airファイル完成後。アップデート開始
    function makeComplete(e:Event):void{
        var updater:Updater=new Updater();
        var tgtFile:File = File.desktopDirectory.resolvePath("hogehoge.air");
        updater.update(tgtFile,"1.0");
    }
}

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: AIR - ソフトウェアの更新

このブログ記事に対するトラックバックURL: http://www.52sec.org/cgi/mt/mt-tb.cgi/15

このブログ記事について

このページは、KOJIが2007年9月27日 13:45に書いたブログ記事です。

ひとつ前のブログ記事は「遠い目をしている」です。

次のブログ記事は「Adobe AIR ベータ2」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0