主程序:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="checkForUpdate()">
<mx:Script>
<![CDATA[
import air.update.events.UpdateEvent;
import air.net.URLMonitor;
import mx.controls.Alert;
import mx.rpc.events.ResultEvent;
import air.update.ApplicationUpdater;
import mx.controls.Alert;
import air.update.events.UpdateEvent;
import air.update.ApplicationUpdaterUI;
private var appUpdater:ApplicationUpdaterUI = new ApplicationUpdaterUI();
private function checkForUpdate():void {
appUpdater.updateURL = "http://localhost:8088/AIR_Update/test_update.xml"; // Server-side XML file describing update
appUpdater.isCheckForUpdateVisible = false; // We won't ask permission to check for an update
appUpdater.addEventListener(UpdateEvent.INITIALIZED, onUpdate); // Once initialized, run onUpdate
appUpdater.addEventListener(ErrorEvent.ERROR, onError); // If something goes wrong, run onError
appUpdater.initialize(); // Initialize the update framework
}
private function onError(event:ErrorEvent):void {
Alert.show(event.toString());
}
private function onUpdate(event:UpdateEvent):void {
appUpdater.checkNow(); // Go check for an update now
}
]]>
</mx:Script>
<mx:Label x="154" y="148" text="版本" width="263" height="113" fontSize="36"/>
</mx:WindowedApplication>
test_update.xml
在webRoot里面创建test_update.xml。 配置要更新的版本信息
<?xml version="1.0" encoding="utf-8"?><!-- test_update.xml -->
<update
xmlns="http://ns.adobe.com/air/framework/update/description/1.0">
<version>v3</version>
<url>http://localhost:8088/AIR_Update/AIR_Update.air</url>
<description>
<text xml:lang="en_US">AIR AutoUpdate</text>
<text xml:lang="zh_CN">AIR 自动更新</text>
</description>
</update>
这里的version 要和 主程序的xxx-app.xml 里面的version值一样
测试:
第一次设置版本号为v1,然后创建签名证书,保存证书密码,打包。安装
第二次,更改版本号为v2,打包。打包时引用第一次的签名证书。
然后将生成的air复制到 webRoot 里面。
最后 访问 原来安装的文件。就会弹出更新框。