AIR - ソフトウェアの更新
以前書いた社内アプリを仕事の息抜きに着々とバージョンアップする。
バージョンアップの度にいちいち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");
}
}
カテゴリ
AIRトラックバック(0)
このブログ記事を参照しているブログ一覧: AIR - ソフトウェアの更新
このブログ記事に対するトラックバックURL: http://www.52sec.org/cgi/mt/mt-tb.cgi/15
