关于ProductManager的一点小运用
主角:adobe.utils.ProductManager;
MXML文件:
<?xml version="1.0" encoding="utf-8"?><s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init();"><fx:Declarations></fx:Declarations><fx:Script source="Main1.as"/></s:WindowedApplication>
import adobe.utils.ProductManager;private function getStatus():String{var hasAIR:ProductManager=new ProductManager("airappinstaller");if (hasAIR.installed){return "installed";}else{var os:String=Capabilities.os;if (os == "Windows 95" || os == "Windows 98/ME"){return "unavailable";}if (os.indexOf("Mac OS 10.0") == 0 || os.indexOf("Mac OS 10.1") == 0 || os.indexOf("Mac OS 10.2") == 0 || os.indexOf("Mac OS 10.3") == 0){return "unavailable";}if (os.indexOf("Windows") == 0 || os.indexOf("Mac OS 10") == 0 || os.indexOf("Linux") == 0){return "available";}return "unavailable";}}private function init():void{switch (getStatus()){case "installed":trace("已经安装AIR运行时");break;case "unavailable":trace("当前系统无法安装AIR运行时");break;case "available":trace("尚未安装AIR运行时");break;}}
import adobe.utils.ProductManager;import flash.events.MouseEvent;import mx.core.FlexGlobals;import spark.components.Button;import spark.components.WindowedApplication;private function init():void{var restartBtn:Button=new Button();restartBtn.x= restartBtn.y=114;restartBtn.label="重启系统"this.addElement(restartBtn)restartBtn.addEventListener(MouseEvent.CLICK, doRestartAppHandler)}private function doRestartAppHandler(event:MouseEvent):void{var app:WindowedApplication=WindowedApplication(FlexGlobals.topLevelApplication);var mgr:ProductManager=new ProductManager("airappinstaller");mgr.launch("-launch " + app.nativeApplication.applicationID + " " + app.nativeApplication.publisherID);app.close();}