Maximum Dimensions of AIR Application

Hi All,
Can someone advise me if there is a limit to the dimensions that a desktop AIR application can be?
This is specifically related to an an app made from Flash.
I have been able to set larger width and heights in the descriptor file post installation to make the application open any size so far - but I don't have a screen large enough to see if there is a limit.
Thanks,
jkafkaris

4095x4095 (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/NativeWin dow.html#bounds)

Similar Messages

  • Is there a pratical size limit for an Air application window?

    I'm brand new to creating Air applications. I started to design a utility in Flash CS4 for my own use. I had originally intended for it to be a simple SWF, but decided to make an Air app as an experiment, and to perhaps share it with others in the future.
    Basically, the application allows the use to drag-resize a box to measure the pixel dimensions of an area onscreen (photo, Windows window, etc.) I wanted to allow it to be resized to any dimensions up to the size of the screen. The chrome is custom and mostly transparent with some alpha for the box to overlay on whatever you're measuring. However, I've run into a few problems, the primary one being that I cannot set the app to run maximized to the screen size and allow any graphics to extend beyond the dimensions of the stage in the source FLA (it all gets clipped at the edges of the stage). I decided to forget about this and just set a maximum size of the stage. So, what was originally a box that you could stretch out to any dimensions, can now only be resized to the upper limit I set (preferrably 1600px X 900px).
    Annoyingly, I've found that any stage size in the source FLA beyond 1500px X 850px causes the Air app to respond very slowly. At sizes below that, the app responds very quickly, as if it were a windowed SWF. My question is, is there a practical upper limit to the size of an Air app window? I mean, if I have an Air app with a window size of 1500px X 850px that can be resized without any perceived lag, why does the window resizing slow down so dramatically by just increasing those dimensions by 1px?

    These factors that determine the minimum and maximum width and height of a window:
    The minimum and maximum operating system limits, which are the values of the systemMinSize and systemMaxSize properties of the        NativeWindow object
    The maximum width and height of a window in Adobe AIR, which are each 2880 pixels
    The minimum width and height required by any displayed system chrome
    The minSize and maxSize properties of the NativeWindow object
    I cannot address the performance problems you are experiencing. I hope someone else can comment.

  • Problem in full screen mode air application

    Hi All
    I am facing some problem in creating an air application. I used fullscreenmode .FULL_SCREEN_INTERACTIVE to maximize the window on load the application was succeeded in some extent. But there is one problem one bottom bar is coming just under the window. can anybody please help me. I am attaching the preview with this.
    Thanks and regards

    Hi M*A*S*H 4077 thanks agan for your reply sending you the total code i used in my project.As I am a new coder my codes are not in abc please try to understand.please have a look and if u want to see my componentcode then also i can send code.component i only used in the video part.
    thank you
    <?xml version="1.0" encoding="utf-8"?>
    <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:components="components.*"
        verticalAlign="top"
        backgroundColor="white"
        borderStyle="none"
        borderThickness="0"
        creationComplete="init();"
        baseline="0"
        paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0"      
        initialize="service.send()"               
        applicationComplete="fullscreenmode()"
        backgroundGradientAlphas="[1.0, 1.0]"
        backgroundGradientColors="[#CCCCCC, #090909]"
        backgroundImage="@Embed(source='assets/background/background.jpg')"
        >
        <mx:Script>
            <![CDATA[
                import mx.controls.Alert;
                import flash.display.Sprite;
                import flash.display.StageAlign;
                import flash.display.StageScaleMode;
                import mx.rpc.events.ResultEvent;
                import mx.effects.Iris;
                import mx.effects.easing.*;
                import flash.utils.Timer;
                [Bindable]
                public var secondsTillDue:int=100;
                import mx.collections.ArrayCollection;
                import mx.rpc.events.ResultEvent;
                public var bol:Boolean;
                [Bindable]
                private var images:ArrayCollection;
                [Bindable]
                private var centerpoint:Number;
                [Bindable]
                private var currentIndex : Number = 0;
                public var myTimer:Timer;
                [Bindable]
                private var mainwidth:Number;
                [Bindable]
                private var mainheight:Number;
       private function init():void {
                myTimer=new Timer(1000);
                myTimer.addEventListener(TimerEvent.TIMER,warnIfClose);
                myTimer.start();
                // Initialize the uldr variable which will be used to load the external
                // playlist XML file.
                uldr = new URLLoader();
                uldr.addEventListener(Event.COMPLETE, xmlCompleteHandler);
                uldr.load(new URLRequest(PLAYLIST_XML_URL));
            /* function setFullScreenDisplayState():void{
                 stage.displayState=stageDisplayState.FULL_SCREEN_INTERACTIVE;
          public function warnIfClose(event:TimerEvent):void{
            secondsTillDue=secondsTillDue-1;
            if(secondsTillDue==90){   
             lab1.setStyle("hideEffect", fade);
             lab1.visible=false;
             clockpan.visible=false;
             clockpan.includeInLayout=false        
             clock1.setStyle("hideEffect", fade);
             clock1.visible=false;        
            else if(secondsTillDue==88){
                mainbox
                imagePart.setStyle("showEffect",fade);
                imagePart.visible=true;
                imagePart.includeInLayout=false;
             else if(secondsTillDue==83){
                 imagePart.visible=false;            
                 imagePart.setStyle("hideEffect",fade)        
                 videoContainer.visible=true;
                 playVideo();    
                private function fullscreenmode():void{
                stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
                mainwidth=stage.width;
                mainheight=stage.height;
                centerpoint=stage.height/2;
                private function serviceHandler(event:ResultEvent):void{           
                    images = event.result.gallery.img;
                    var timer:Timer = new Timer(15000);
                    timer.addEventListener(TimerEvent.TIMER,nextImage);
                    timer.start();
                private function nextImage(event:TimerEvent):void{
                        if (currentIndex < images.length - 1){
                            currentIndex++;
                        else {
                            currentIndex = 0;
            import mx.controls.ProgressBarMode;
                 * The amount of time between calls to update the playhead timer, in
                 * milliseconds.
                private const PLAYHEAD_UPDATE_INTERVAL_MS:uint = 10;
                 * The path to the XML file containing the video playlist.
                private const PLAYLIST_XML_URL:String = "playlist.xml";
                 * The client object to use for the NetStream object.
                private var client:Object;
                 * The index of the currently playing video.
                [Bindable]
                private var idx:uint = 0;
                 * A copy of the current video's metadata object.
                private var meta:Object;
                private var nc:NetConnection;
                private var ns:NetStream;
                private var playlist:XML;
                private var t:Timer;
                private var uldr:URLLoader;
                private var vid:Video;
                private var videosXML:XMLList;
                 * The SoundTransform object used to set the volume for the NetStream.
                private var volumeTransform:SoundTransform;
                 * Constructor
                private function initApp():void {
                    // Initialize the uldr variable which will be used to load the external
                    // playlist XML file.
                    uldr = new URLLoader();
                    uldr.addEventListener(Event.COMPLETE, xmlCompleteHandler);
                    uldr.load(new URLRequest(PLAYLIST_XML_URL));
                 * Once the XML file has loaded, parse the file contents into an XML object,
                 * and create an XMList for the video nodes in the XML.
                private function xmlCompleteHandler(event:Event):void {
                    playlist = XML(event.target.data);
                    videosXML = playlist.video;
                    main();
                 * The main application.
                private function main():void {
                    volumeTransform = new SoundTransform();
                    // Create the client object for the NetStream, and set up a callback
                    // handler for the onMetaData event.
                    client = new Object();
                    client.onMetaData = metadataHandler;
                    nc = new NetConnection();
                    nc.connect(null);
                    // Initialize the NetSteam object, add a listener for the netStatus
                    // event, and set the client for the NetStream.
                    ns = new NetStream(nc);
                    ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
                    ns.client = client;
                    // Initialize the Video object, attach the NetStram, and add the Video
                    // object to the display list.
                    vid = new Video();
                    vid.x = 0;
                    vid.y = 0;
                    vid.attachNetStream(ns);
                    videoContainer.addChild(vid);
                    // Begin playback of the first video.
                    //playVideo();
                     //play video code goes here
                    // Initialize the Timer object and set the delay to
                    // PLAYHEAD_UPDATE_INTERVAL_MS milliseconds.
                    t = new Timer(PLAYHEAD_UPDATE_INTERVAL_MS);
                    t.addEventListener(TimerEvent.TIMER, timerHandler);
                    // Configure the positionBar ProgressBar instance and set the mode to
                    // MANUAL. Progress  bar values will be explicitly set using the
                    // setProgress() method.
                    //positionBar.mode = ProgressBarMode.MANUAL;
                    // Configure the volumeSlider Slider component instance. The maximum
                    // value is set to 1 because the volume in the SoundTransform object
                    // is set to a number between 0 and 1. The snapInterval and tickInterval
                    // properties are set to 0.1 which allows users to set the volume to
                    // 0, 0.1 - 0.9, 1.0 which allows users to increment or decrement the
                    // volume by 10%.
                    //volumeSlider.value = volumeTransform.volume;
                    //volumeSlider.minimum = 0;
                    //volumeSlider.maximum = 1;
                    //volumeSlider.snapInterval = 0.1;
                    //volumeSlider.tickInterval = volumeSlider.snapInterval;
                    // Setting the liveDragging property to true causes the Slider
                    // instance's change event to be dispatched whenever the slider is
                    // moved, rather than when the user releases the slider thumb.
                    //volumeSlider.liveDragging = true;
                    //volumeSlider.addEventListener(Event.CHANGE, volumeChangeHandler);
                    // Configure the various Button instances. Each Button instance uses
                    // the same click handler.
                    //playButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
                    //pauseButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
                    //stopButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
                    //backButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
                    //forwardButton.addEventListener(MouseEvent.CLICK, buttonClickHandler);
                 * Event listener for the volumeSlider instance. Called when the user
                 * changes the value of the volume slider.
                private function volumeChangeHandler():void {
                    // Set the volumeTransform's volume property to the current value of the
                    // Slider and set the NetStream object's soundTransform property.
                    //volumeTransform.volume = volumeSlider.value;
                    ns.soundTransform = volumeTransform;
                 * Event listener for the ns object. Called when the net stream's status
                 * changes.
                private function netStatusHandler(event:NetStatusEvent):void {
                    try {
                        switch (event.info.code) {
                            case "NetStream.Play.Start" :
                                // If the current code is Start, start the timer object.
                                t.start();
                                break;
                            case "NetStream.Play.StreamNotFound" :
                            case "NetStream.Play.Stop" :
                                // If the current code is Stop or StreamNotFound, stop
                                // the timer object and play the next video in the playlist.
                                t.stop();
                                playNextVideo();
                                break;
                    } catch (error:TypeError) {
                        // Ignore any errors.
                 * Event listener for the ns object's client property. This method is called
                 * when the net stream object receives metadata information for a video.
                private function metadataHandler(metadataObj:Object):void {
                    // Store the metadata information in the meta object.
                    meta = metadataObj;
                    // Resize the Video instance on the display list with the video's width
                    // and height from the metadata object.
                    vid.width = mainwidth;
                    vid.height = mainheight;
                    // Reposition and resize the positionBar progress bar based on the
                    // current video's dimensions.
                    //positionBar.move(vid.x, vid.y + vid.height);
                    //positionBar.width = vid.width;
                 * Retrieve the current video from the playlist XML object.
                private function getVideo():String {
                    return videosXML[idx].@url;
                 * Play the currently selected video.
                private function playVideo():void {
                    var url:String = getVideo();
                    ns.play(url);
                 * Decrease the current video index and begin playback of the video.
                private function playPreviousVideo():void {
                    if (idx > 0) {
                        idx--;
                        playVideo();
                        // Make sure the positionBar progress bar is visible.
                        //positionBar.visible = true;
                 * Increase the current video index and begin playback of the video.
                 [Bindable]
                 private var newTime:Number;
                private function playNextVideo():void{
                    if (idx < (videosXML.length() - 1)) {
                        // If this is not the last video in the playlist increase the
                        // video index and play the next video.
                        idx++;
                        playVideo();
                        // Make sure the positionBar progress bar is visible.
                        //positionBar.visible = true;
                    } else {
                        // If this is the last video in the playlist increase the video
                        // index, clear the contents of the Video object and hide the
                        // positionBar progress bar. The video index is increased so that
                        // when the video ends, clicking the backButton will play the
                        // correct video.
                        idx++;
                        vid.clear();
                        init();
                        //Alert.show("video end")
                        //positionBar.visible = false;
                private function timerHandler(event:TimerEvent):void {
                    try {
                    } catch (error:Error) {
            ]]>
        </mx:Script>
    <mx:XML id="imagesXML" source="data/images.xml" />
        <mx:Zoom id="zoom" />
        <mx:Fade id="fadein" duration="1000" alphaFrom="100" alphaTo="0" />
        <mx:Fade id="fade" />
        <mx:Rotate id="rotate"
                angleFrom="-180"
                angleTo="0"
                easingFunction="Elastic.easeInOut"
                duration="2000" />
    <mx:VBox  id="mainbox" horizontalAlign="left" width="100%" height="100%" verticalScrollPolicy="off" horizontalScrollPolicy="off">
                <mx:Panel borderStyle="none"
               borderAlpha="0"
               cornerRadius= "0"
               headerHeight= "0"
               backgroundAlpha= "0"
               borderThickness="0"
               verticalAlign="middle"
               top="100"
               height="500"
               paddingLeft="0"
               paddingRight="0"
               paddingBottom="0"
               verticalScrollPolicy="off"
               horizontalScrollPolicy="off"
               horizontalAlign="center"          
               width="{mainwidth-100}"           
               id="clockpan"
               >       
                    <mx:Label text="Current Time : " fontFamily="arial" fontWeight="bold" fontSize="15" id="lab1" color="#FFFFFF"/>
                    <components:MyWatch formatString="DD/MM/YYYY KK:NN:SS " themeColor="#0D424C" id="clock1"/>
                </mx:Panel> 
        <!--image part start-->     
        <mx:Panel horizontalAlign="left" id="imagePart" visible="false" includeInLayout="false" borderStyle="none"
               borderAlpha="0"
               cornerRadius= "0"
               headerHeight= "0"
               borderThickness="0"
               verticalScrollPolicy="off"
               paddingLeft="0" paddingBottom="0" paddingRight="0" paddingTop="0"
               horizontalScrollPolicy="off"
               backgroundAlpha= "0" width="100%" height="100%">       
                <mx:Image source="assets/images/{images.getItemAt(currentIndex).file}"
                    showBusyCursor="true" id="imagefile" width="{mainwidth}" maxHeight="{mainheight}" minHeight="{mainheight}" maxWidth="{mainwidth}" minWidth="{mainwidth}" height="{mainheight}" hideEffect="{fadein}"  x="0" y="0" maintainAspectRatio="false"/>
                <mx:Text text="{images.getItemAt(currentIndex).title}" styleName="title" color="#ffffff" x="0" y="30"/>
         </mx:Panel>
        <!--image part end-->
        <!--image part start-->      
        <mx:Panel borderStyle="none"
               borderAlpha="0"
               cornerRadius= "0"
               borderThickness="0"
               headerHeight= "0" top="0" left="0"
               backgroundAlpha= "0" verticalAlign="middle"
               verticalScrollPolicy="off"
               horizontalScrollPolicy="off"
               x="0"
               >
             <mx:VideoDisplay borderStyle="none" borderThickness="0" visible="false" id="videoContainer"
                  maintainAspectRatio="false"           
                  />
        </mx:Panel>
        <!--image part end-->
         <!--<mx:Button label="fullscreen" click="stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;"/>-->
         </mx:VBox>   
        <mx:HTTPService id="service" url="data.xml" result="serviceHandler(event)"/>
    </mx:WindowedApplication>

  • Packaging an AIR application in a native installer

    Hi! I'm trying to create a native installer of my AIR Application,  because (I think) it's the only way make the native processes working.  But I have a problem: I used the following command to pack: "adt  -package -storetype pkcs12 -keystore myCert.pfx -target native  -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp-app.xml", but I get  the error: "File myApp-app.xml is not a valid AIRI or AIR file". In the  Flash Builder I use as additional compiler arguments:  "-locale=pt_PT,en_UK,fr_FR,de_DE,ro_RO,es_ES  -allow-source-path-overlap=true -source-path=assets" and I add the  source path "src/locale/{locale}/". What is the sintax for packing my  AIR application in a native installer? Thanks in advance.

    Hi again! Thanks for the reply. I based myself on the link to see what command syntax I should use to pack my Air Windowed Application and it was the command that I presented in the previous post.
    adt version "2.0.1.12090"
                                                  My Descriptor File
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <application xmlns="http://ns.adobe.com/air/application/2.0">
    <!-- Adobe AIR Application Descriptor File Template.
        Specifies parameters for identifying, installing, and launching AIR applications.
        xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/2.0
                The last segment of the namespace specifies the version
                of the AIR runtime required for this application to run.
        minimumPatchLevel - The minimum patch level of the AIR runtime required to run
                the application. Optional.
    -->
        <!-- A universally unique application identifier. Must be unique across all AIR applications.
             Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
        <id>com.MyCompany.Application</id>
        <!-- Used as the filename for the application. Required. -->
        <filename>Production Control System</filename>
        <!-- The name that is displayed in the AIR application installer.
             May have multiple values for each language. See samples or xsd schema file. Optional. -->
        <name>Production Control System</name>
        <!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
        <version>2.1.3</version>
        <!-- Description, displayed in the AIR application installer.
             May have multiple values for each language. See samples or xsd schema file. Optional. -->
        <!-- <description></description> -->
        <!-- Copyright information. Optional -->
        <!-- <copyright></copyright> -->
        <!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
        <!-- <publisherID>My Company</publisherID> -->
        <!-- Settings for the application's initial window. Required. -->
        <initialWindow>
            <!-- The main SWF or HTML file of the application. Required. -->
            <!-- Note: In Flash Builder, the SWF reference is set automatically. -->
            <content>[This value will be overwritten by Flash Builder in the output app.xml]</content>
            <!-- The title of the main window. Optional. -->
            <!-- <title></title> -->
            <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
            <systemChrome>none</systemChrome>
            <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
            <transparent>true</transparent>
            <!-- Whether the window is initially visible. Optional. Default false. -->
            <!-- <visible></visible> -->
            <!-- Whether the user can minimize the window. Optional. Default true. -->
            <!-- <minimizable></minimizable> -->
            <!-- Whether the user can maximize the window. Optional. Default true. -->
            <!-- <maximizable></maximizable> -->
            <!-- Whether the user can resize the window. Optional. Default true. -->
            <!-- <resizable></resizable> -->
            <!-- The window's initial width in pixels. Optional. -->
            <!-- <width></width> -->
            <!-- The window's initial height in pixels. Optional. -->
            <!-- <height></height> -->
            <!-- The window's initial x position. Optional. -->
            <!-- <x></x> -->
            <!-- The window's initial y position. Optional. -->
            <!-- <y></y> -->
            <!-- The window's minimum size, specified as a width/height pair in pixels, such as "400 200". Optional. -->
            <!-- <minSize></minSize> -->
            <!-- The window's initial maximum size, specified as a width/height pair in pixels, such as "1600 1200". Optional. -->
            <!-- <maxSize></maxSize> -->
        </initialWindow>
        <!-- We recommend omitting the supportedProfiles element, -->
        <!-- which in turn permits your application to be deployed to all -->
        <!-- devices supported by AIR. If you wish to restrict deployment -->
        <!-- (i.e., to only mobile devices) then add this element and list -->
        <!-- only the profiles which your application does support. -->
        <!-- <supportedProfiles>desktop extendedDesktop mobileDevice extendedMobileDevice</supportedProfiles> -->
        <supportedProfiles>extendedDesktop</supportedProfiles>
        <!-- The subpath of the standard default installation location to use. Optional. -->
        <!-- <installFolder></installFolder> -->
        <!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
        <!-- <programMenuFolder></programMenuFolder> -->
        <!-- The icon the system uses for the application. For at least one resolution,
             specify the path to a PNG file included in the AIR package. Optional. -->
        <!-- <icon>
            <image16x16></image16x16>
            <image32x32></image32x32>
            <image48x48></image48x48>
            <image128x128></image128x128>
        </icon> -->
        <!-- Whether the application handles the update when a user double-clicks an update version
        of the AIR file (true), or the default AIR application installer handles the update (false).
        Optional. Default false. -->
        <customUpdateUI>true</customUpdateUI>
        <!-- Whether the application can be launched when the user clicks a link in a web browser.
        Optional. Default false. -->
        <!-- <allowBrowserInvocation></allowBrowserInvocation> -->
        <!-- Listing of file types for which the application can register. Optional. -->
        <!-- <fileTypes> -->
            <!-- Defines one file type. Optional. -->
            <!-- <fileType> -->
                <!-- The name that the system displays for the registered file type. Required. -->
                <!-- <name></name> -->
                <!-- The extension to register. Required. -->
                <!-- <extension></extension> -->
                <!-- The description of the file type. Optional. -->
                <!-- <description></description> -->
                <!-- The MIME content type. -->
                <!-- <contentType></contentType> -->
                <!-- The icon to display for the file type. Optional. -->
                <!-- <icon>
                    <image16x16></image16x16>
                    <image32x32></image32x32>
                    <image48x48></image48x48>
                    <image128x128></image128x128>
                </icon> -->
            <!-- </fileType> -->
        <!-- </fileTypes> -->
        <!-- iPhone/iPad -specific capabilities -->
        <!-- <iPhone> -->
            <!-- A list of plist key/value pairs to be added to the application Info.plist -->
            <!-- <InfoAdditions>
                <![CDATA[
                    <key>UIDeviceFamily</key>
                    <array>
                        <string>1</string>
                        <string>2</string>
                    </array>
                    <key>UIStatusBarStyle</key>
                    <string>UIStatusBarStyleBlackOpaque</string>
                    <key>UIRequiresPersistentWiFi</key>
                    <string>YES</string>
                ]]>
            </InfoAdditions> -->
        <!-- </iPhone> -->
    </application>

  • Can we resize swf file created with AIR API in AIR application?

    Hi,
    I created a .swf file with AIR API.
    I want to open and resize it in AIR application. This .swf file taking dimensions as default in which it opens.
    I want to change its width and height.
    Is there any way to change its dimensions?
    Please suggest me the solution.
    thank you

    Loading a Flex WindowedApplication into another is not supported.  However,
    you might be able to access the WindowedApplication and size it.  Sub-Apps
    in AIR should be based on Application, not WindowedApplication.

  • Bug: Custom AIR Application icons on Mac OS X don't display after install

    There are circumstances where custom AIR application icons don't display in certain Finder views after installation.
    This is apparent when viewing the application in a docked folder popup. The icon renders as a blank with a sort of no entry slash across it. Another example where this occurs is in a Downloads folder in the Dock (if you immediately create an alias to the app in the your Downloads folder, and your Downloads folder is in the Dock).
    In addition, the maximum icon size of 128x128 really not that large. I wish AIR applications could have larger icons, like real applications.

    I've seen this occur with numerous applications (native OS X and AIR) and typically restarting the dock (rebooting or logout/login) fixes it for me.  Doing a quick search on Google show's that it's a pretty common occurrence.  Are you still seeing this occur after rebooting?
    As for the large icon support, I would like to encourage you to vote for the following two feature requests!
    Application Icon Size
    512x512 Icon Support
    Thanks,
    Chris

  • Installing a LARGE AIR application

    Hello,
    I am attempting to create an installer for Windows that installs the AIR runtime, our application, and all the content required such that any user can log in and use the application. Our application is an educational tool for autistic children, and will be installed in lab environments in schools.
    Our AIR application by itself is not large - about 5MB. However, it relies upon about 600MB of external assets. These include various forms of media: images, audio clips, SWFs etc. If I try to bundle all of this into a single AIR file using FlashBuilder 4, FlashBuilder dies due to lack of memory to the JVM. I have tried to increase memory to the JVM, but even given the maximum it still does not work. I then attempted to package and sign the AIR file using the command line tools. That appears to work, however that operation results in a bloated AIR file that is over 1GB in size, almost double the size of the content packaged into it. If I attempt to use the sidecar installer provided by Adobe to install this AIR file the installer dies. Further investigation shows that others have hit this same size limitation with AIR files, but there is no resolution in site to this problem.
    Since it seemed impossible to package the entire application into a single AIR file my next attempt was to keep the content separate from the AIR application. I have experimented with Installshield, but have found no way to chain together the sidecar installer MSI with another MSI that installs the content to the same location. I could install the AIR application, and then let the application itself finish the installation by copying the content to app-storage://, but then the application is only usable by the user who installed it. In a lab environment in a school this doesn't work, because typically the person who is installing the application is an administrator, not the end user. app-storage:// resides under a user's directory, not in a shared location. The application is unable to copy files to the app:// location due to the security model of AIR.
    I know that I can do a silent install from the command line using the sidecar installer, but I haven't found a way to chain this together with another MSI that installs the content. It could be that I am too limited by what Installshield Express offers. I am now attempting to use NSIS.
    Any advice anyone may have on how to do this is very appreciated. Surely others have needed to install large media rich AIR applications on Windows. AIR is a great platform for us in many respects, but I must be able to create an easy seamless install process for end users. Our product will be going into use over the next 6 months by over 1000 users, and that number will grow quickly. I would be willing to pay for a support incident from Adobe if that is warranted.
    Thanks
    Kevin MacDonald

    After much gnashing of teeth I I came up with what appears to be a workable solution. I am posting my solution here for the benefit of others. I was able to use NSIS to create an installer that first installs my AIR application via Adobe silent install feature (http://help.adobe.com/en_US/AIR/1.5/air_runtime_redist/air_runtime_redist.pdf), and then proceeds to install the content in the same folder. The end result is an application that should work for all users and is a reasonably seamless installation experience . The only downside is that you wind up with a total of 3 new items in the Programs & Features control panel: one for Adobe AIR, one for the NSIS installer, and one for the AIR application. The uninstaller only removes the NSIS installer, but that zaps all the content off the disk so it's not terrible. Another little gotcha is that the install folder in this script needs to match the folder in the descriptor file of the AIR application, because everything needs to wind up in the same folder.
    This also assumes you have permission from Adobe to redistribute the AIR runtime.
    My NSIS script is below.
    ; Script generated by the HM NIS Edit Script Wizard.
    ; HM NIS Edit Wizard helper defines
    !define PRODUCT_NAME "My Product Install Kit"
    !define PRODUCT_VERSION "2.0"
    !define PRODUCT_PUBLISHER "mycompany"
    !define PRODUCT_WEB_SITE "http://www.mycompany.com"
    !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Adobe AIR Application Installer.exe"
    !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
    !define PRODUCT_UNINST_ROOT_KEY "HKLM"
    ; MUI 1.67 compatible ------
    !include "MUI.nsh"
    ; MUI Settings
    !define MUI_ABORTWARNING
    !define MUI_ICON "..\..\..\..\..\__staging\InstallerResources\TT.ico"
    !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
    ; Welcome page
    ; License page
    !insertmacro MUI_PAGE_LICENSE "..\..\..\..\..\__staging\InstallerResources\License.txt"
    ; Directory page
    !insertmacro MUI_PAGE_DIRECTORY
    ; Instfiles page
    !insertmacro MUI_PAGE_INSTFILES
    ; Finish page
    ; NOTE: This provides an option to run the AIR application. This depends upon the Client.air file creating this executable. It doesn't get created by this installer.
    ;       Also, The directory 'My Product 2.0' shown anywhere in this script must match the installation directory created by Client.air or nothing will be in the right spot.
    !define MUI_FINISHPAGE_RUN "$INSTDIR\My Product 2.0\My Product 2.0.exe"
    !insertmacro MUI_PAGE_FINISH
    ; Uninstaller pages
    !insertmacro MUI_UNPAGE_INSTFILES
    ; Language files
    !insertmacro MUI_LANGUAGE "English"
    ; MUI end ------
    Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
    OutFile "Setup.exe"
    InstallDir "$PROGRAMFILES\mycompany"
    InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""
    ShowInstDetails show
    ShowUnInstDetails show
    var removePreviousInstall
    Section "MainSection" SEC01
      StrCpy $removePreviousInstall "A previously installed version of My Product 2.0 has been detected at $INSTDIR\My Product 2.0 that must be un-installed before proceeding. Please go to Control Panel --> Programs and Features and fully un-install any mycompany components. Also, make sure that this folder is deleted. Then, you may attempt to re-install. The installer will quit now."
      SetOutPath "$APPDATA\mycompanyAIRInstaller"
      SetOverwrite try
      File /r "..\..\..\..\..\__staging\mycompanyAIRInstaller\*.*"
      ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Adobe AIR" "DisplayVersion"
      IfErrors installAIRRuntime
      Goto installAIRFile
      installAIRRuntime:
      MessageBox MB_OK "NOTE: The Adobe AIR Runtime will now be installed. Please accept the AIR license agreement in the following dialog and allow the installation to complete."
      ExecWait '"$APPDATA\mycompanyAIRInstaller\AdobeAIRInstaller.exe"' $0
      ${If} $0 != '0'
        MessageBox MB_OK|MB_ICONSTOP 'Adobe AIR Installer returned error code ("$0"). Adobe AIR must be installed for this installation to complete.'
        Quit
      ${EndIf}
      installAIRFile:
      ;Check for existence of a previous installation
      IfFileExists "$INSTDIR\My Product 2.0" ExistingInstallDetected NoExistingInstallDetected
      ExistingInstallDetected:
         MessageBox MB_OK $removePreviousInstall
         Quit
      NoExistingInstallDetected:
    ;  MessageBox MB_OK "Installing Adobe AIR Runtime and Application via silent installation"
      ExecWait '"$APPDATA\mycompanyAIRInstaller\Adobe AIR\Versions\1.0\Adobe AIR Application Installer.exe" -silent -eulaAccepted -location "$INSTDIR" -desktopShortcut -programMenu "$APPDATA\mycompanyAIRInstaller\Client.air"' $0
      ${Switch} $0
      ${Case} '0'
        ${Break}
      ${Case} '1'
        MessageBox MB_OK 'A restart is required to complete this installation'
        ${Break}
      ${Case} '3'
        MessageBox MB_OK 'The Adobe AIR runtime was not found. Please try fulling un-installing any intalled components and attempt to re-install.'
        ${Break}
      ${Case} '4'
        MessageBox MB_OK 'Failed to load the Adobe AIR runtime. Please try fulling un-installing any intalled components and attempt to re-install.'
        ${Break}
      ${Case} '7'
      ${Case} '9'
        MessageBox MB_OK $removePreviousInstall
        Quit
        ${Break}
      ${Default}
        MessageBox MB_OK 'Unknown error ("$0") installing the Adobe AIR runtime. Please try fully un-installing any installed components and attempt to re-install.'
        ${Break}
      ${EndSwitch}
      SetOutPath "$INSTDIR\My Product 2.0\assets\abagale"
      File /r "..\..\..\..\..\__staging\Client_abagale\*.*"
    SectionEnd
    Section -AdditionalIcons
      SetOutPath $INSTDIR
    ;  WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
      CreateShortCut "$SMPROGRAMS\mycompany\Uninstall My Product 2.0.lnk" "$INSTDIR\Uninstall My Product 2.0.exe"
    SectionEnd
    Section -Post
      WriteUninstaller "$INSTDIR\Uninstall My Product 2.0.exe"
      WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$APPDATA\Adobe AIR\Versions\1.0\Adobe AIR Application Installer.exe"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$APPDATA\Adobe AIR\Versions\1.0\Adobe AIR Application Installer.exe"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
      WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
    SectionEnd
    Function un.onUninstSuccess
      HideWindow
      MessageBox MB_ICONINFORMATION|MB_OK "My Product 2.0 Install Kit was successfully removed from your computer."
    FunctionEnd
    Function un.onInit
      MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove My Product 2.0?" IDYES +2
      Abort
    FunctionEnd
    Section Uninstall
      RMDir /r "$INSTDIR\My Product 2.0\*.*"
      RMDir /r "$APPDATA\mycompanyAIRInstaller\*.*"
      ;Deletes the link put there by the AIR app installer.
      Delete "$SMPROGRAMS\mycompany\My Product 2.0.lnk"
      DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
      DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
      SetAutoClose true
    SectionEnd

  • Unable to export AIR application in FlashBuilder 4

    Hi,
    I have just finished an AIR application created in Flash Builder 4 / SDK 4.1.
    But  I have systematically a problem while exporting the application with  the Flash Builder wizard / button Export to a validated version.
    When I double click on the generated .air file, I've got the error :
    'This application cannot be installed because the installation program has not be configured correctly'.
    Thanks in advance for your help.
    Sophie

    Hi,
    First of all, thanks for your answer.
    I am working on a Windows XP server - Version 2002 - SP2.
    To avoid the following error message, Could not generate timestamp: Connection timed out: connect
    I set java.net.useSystemProxies=true in [Adobe Flash Builder 4 folder]\jre\lib\net.properties
    Here's my Application-app.xml file :
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <application xmlns="http://ns.adobe.com/air/application/2.0">
    <!-- Adobe AIR Application Descriptor File Template.
        Specifies parameters for identifying, installing, and launching AIR applications.
        xmlns - The Adobe AIR namespace: http://ns.adobe.com/air/application/2.0
                The last segment of the namespace specifies the version
                of the AIR runtime required for this application to run.
        minimumPatchLevel - The minimum patch level of the AIR runtime required to run
                the application. Optional.
    -->
        <!-- A universally unique application identifier. Must be unique across all AIR applications.
             Using a reverse DNS-style name as the id is recommended. (Eg. com.example.ExampleApplication.) Required. -->
        <id>com.akka.dgac.ClientLourdNA</id>
        <!-- Used as the filename for the application. Required. -->
        <filename>ClientLourdNA</filename>
        <!-- The name that is displayed in the AIR application installer.
             May have multiple values for each language. See samples or xsd schema file. Optional. -->
        <name>Client Lourd NA</name>
        <!-- An application version designator (such as "v1", "2.5", or "Alpha 1"). Required. -->
        <version>1.0</version>
        <!-- Description, displayed in the AIR application installer.
             May have multiple values for each language. See samples or xsd schema file. Optional. -->
        <!-- <description></description> -->
        <!-- Copyright information. Optional -->
        <copyright>Copyright 2011, Akka Technologies</copyright>
        <!-- Publisher ID. Used if you're updating an application created prior to 1.5.3 -->
        <!-- <publisherID></publisherID> -->
        <!-- Settings for the application's initial window. Required. -->
        <initialWindow>
            <!-- The main SWF or HTML file of the application. Required. -->
            <!-- Note: In Flash Builder, the SWF reference is set automatically. -->
            <content>ClientLourdNA.swf</content>
            <!-- The title of the main window. Optional. -->
            <title>Outil de rédaction d'un rapport d'audit Navigation Aérienne</title>
            <!-- The type of system chrome to use (either "standard" or "none"). Optional. Default standard. -->
            <!-- <systemChrome></systemChrome> -->
            <!-- Whether the window is transparent. Only applicable when systemChrome is none. Optional. Default false. -->
            <!-- <transparent></transparent> -->
            <!-- Whether the window is initially visible. Optional. Default false. -->
            <!-- <visible></visible> -->
            <!-- Whether the user can minimize the window. Optional. Default true. -->
            <!-- <minimizable></minimizable> -->
            <!-- Whether the user can maximize the window. Optional. Default true. -->
            <!-- <maximizable></maximizable> -->
            <!-- Whether the user can resize the window. Optional. Default true. -->
            <!-- <resizable></resizable> -->
            <!-- The window's initial width in pixels. Optional. -->
            <!-- <width></width> -->
            <!-- The window's initial height in pixels. Optional. -->
            <!-- <height></height> -->
            <!-- The window's initial x position. Optional. -->
            <!-- <x></x> -->
            <!-- The window's initial y position. Optional. -->
            <!-- <y></y> -->
            <!-- The window's minimum size, specified as a width/height pair in pixels, such as "400 200". Optional. -->
            <!-- <minSize></minSize> -->
            <!-- The window's initial maximum size, specified as a width/height pair in pixels, such as "1600 1200". Optional. -->
            <!-- <maxSize></maxSize> -->
        </initialWindow>
        <!-- We recommend omitting the supportedProfiles element, -->
        <!-- which in turn permits your application to be deployed to all -->
        <!-- devices supported by AIR. If you wish to restrict deployment -->
        <!-- (i.e., to only mobile devices) then add this element and list -->
        <!-- only the profiles which your application does support. -->
        <!-- <supportedProfiles>desktop extendedDesktop mobileDevice extendedMobileDevice</supportedProfiles> -->
        <!-- The subpath of the standard default installation location to use. Optional. -->
        <installFolder>bin-release</installFolder>
        <!-- The subpath of the Programs menu to use. (Ignored on operating systems without a Programs menu.) Optional. -->
        <!-- <programMenuFolder></programMenuFolder> -->
        <!-- The icon the system uses for the application. For at least one resolution,
             specify the path to a PNG file included in the AIR package. Optional. -->
        <!-- <icon>
            <image16x16></image16x16>
            <image32x32></image32x32>
            <image48x48></image48x48>
            <image128x128></image128x128>
        </icon> -->
        <!-- Whether the application handles the update when a user double-clicks an update version
        of the AIR file (true), or the default AIR application installer handles the update (false).
        Optional. Default false. -->
        <!-- <customUpdateUI></customUpdateUI> -->
        <!-- Whether the application can be launched when the user clicks a link in a web browser.
        Optional. Default false. -->
        <!-- <allowBrowserInvocation>true</allowBrowserInvocation> -->
        <!-- Listing of file types for which the application can register. Optional. -->
        <!-- <fileTypes> -->
            <!-- Defines one file type. Optional. -->
            <!-- <fileType> -->
                <!-- The name that the system displays for the registered file type. Required. -->
                <!-- <name></name> -->
                <!-- The extension to register. Required. -->
                <!-- <extension></extension> -->
                <!-- The description of the file type. Optional. -->
                <!-- <description></description> -->
                <!-- The MIME content type. -->
                <!-- <contentType></contentType> -->
                <!-- The icon to display for the file type. Optional. -->
                <!-- <icon>
                    <image16x16></image16x16>
                    <image32x32></image32x32>
                    <image48x48></image48x48>
                    <image128x128></image128x128>
                </icon> -->
            <!-- </fileType> -->
        <!-- </fileTypes> -->
    </application>
    Thanks in advance for your help.
    Sophie

  • Center Air Application

    Hi all,
    I have an AIR application built from flex components; I want
    it so that when I run the AIR application, it starts in the center
    of the user's screen. Do I do this in xxx-app.xml, or in the main
    Application window that starts up? Could someone show me how to do
    either of these? Thanks!

    You would need to do this in the applicationComplete event
    handler for the WindowedApplication.
    You can use the Screen class to get the dimensions of the
    screen and use those to compute the x and y for the window.
    private function center():void{
    this.nativeWindow.x = (Screen.mainScreen.bounds.width -
    this.nativeWindow.width)/2;
    this.nativeWindow.y = (Screen.mainScreen.bounds.height -
    this.nativeWindow.height)/2;

  • Deployment of an Adobe AIR application in an enterprise environment

    Dear Team members,
    first of all my apologies for posting this thread in more than one forum (see Installations Issues) but the argument is very important to us and I don't know where discuss it.
    I would like to post a question to you regarding deployment doubts that we are trying to address.
    My company is working on the new version of our primary application previously built as a J2EE application with some reporting functions with Flex, and we want to use AIR in order to leverage its possibilities:
    Seamless integration with existing application functionalities (implemented as standard JEE web application pages) thanks to the integrated HTML capabilities
    Improved integration of the user interface with the desktop
    Native processes to provide additional functionalities
    Our application is targeted to pharmaceutical industry, subject to FDA regulations, and it affects more than 5000 users for each customer, so we have some specific requirements affecting the deployment and distribution of the software:
    Allow to run multiple versions of the software on the same client machine (to support test and acceptance activities in addition to the production environment)
    Minimize the effort of the initial setup on each client
    Manage the version upgrades without manual activities on each client
    Keep the test/acceptance and production environments strictly aligned to improve effectiveness of formal validation (ideally, an application once validated should be transported in production without any source code modification, recompilation or repackaging)
    The current browser-based strategy is perfectly fit to these requirements, and in the shift towards a desktop-based strategy we need to continue satisfying them as much as possible. We evaluated the standard distribution strategy of Adobe AIR applications, and noticed several attention points in this scenario.
    The first issue we encountered is the back-end services endpoint discovery problem. Simply hardcoding a server URL in the packaged application could be a viable solution for public internet-accessible applications, but we need to support multiple customers in their intranet, and each one typically requires multiple environments for the application (acceptance, production, etc.). Maintaining dozens of different packages of the AIR application to support all these customer environments clearly is not the solution. Neither we want to force thousands of different users to enter and maintain the correct server location in their local preferences.
    So, we thought to use a badge hosted in the back-end application to run the local AIR application: using the underlying API, we could activate the application specifying also the network location of the back-end services. We could also rely on the badge to install the application (and the AIR runtime if necessary)… however, application packaged as native installers cannot be installed, upgraded, or launched by the badge API (and we need to package ours as native to use native processes).
    We also noticed that multiple versions of an AIR application cannot be installed side-by-side in a client machine, and that the installation and upgrade of the application can be performed only when the local user has administrative rights on the machine (using standard or native packages), forcing us to rely on external software distribution systems in some customer scenarios (introducing additional complexities in the release cycle).
    At this point, in our opinion the standard deployment strategies of Adobe AIR applications are unfit for enterprise environments. In the enterprise world, many of the applications have migrated to a completely browser-based solution, while others enhanced their client layer to comply with the requirements, for example installing only a thin portion of the client code and allowing to connect to multiple server versions/environments with it (e.g. the SAP GUI universal client). Without smarter deployment and distribution tools, AIR applications currently are a step back compared to web applications in terms of manageability.
    So, we are trying to develop a solution to address these problems, with some concepts similar to JStart: install on the client machine a launcher application capable of being activated from a web page, dynamically locate, download and run the actual client bytecode, transparently enforce client software updates, and supporting multiple applications (and multiple versions of the same application). However, we are facing many technical problems due to internal architecture of AIR and we already spent a considerable amount of effort trying to find a solution. We are now thinking to return on the choice of AIR, going back to Flex.
    What is the position of Adobe on this argument? Is Adobe aware of these issues and are there any plans on this topic? Any advice?
    Thank you in advance

    For those following along, Oliver Goldman will be answering this post in future articles on his blog.
    Many great comments and questions here. I’m working on some follow-up posts to address these; nothing I could cram into this comment field would really do your query justice. - Oliver Goldman
    Pursuit of Simplicity
    Chris

  • Communication problem between air application from swf at browser

    Hi,
    I am trying to communicate adobe air native application from brwser using swf, I check for native application installed or not. If installed then launch and if not then install and launch.
    I am facing problem when browser crashes and communication get lost with adobe air native application. And when user restart web browser and try to make local connection for communication with native application, some times it get failed. so, how to handle this state please help.
    Thanks
    Nitesh Kumar

    Hi sinious,
    How could I clean up connection when browser is aborted or lost?
    below you can find the code snippet to check for air application and connection
    airSWFLoader = new Loader();
                                  loaderContext = new LoaderContext();
                                  loaderContext.applicationDomain = ApplicationDomain.currentDomain;
                                  airSWFLoader.contentLoaderInfo.addEventListener(Event.INIT, onInit);
                                  airSWFLoader.load(new URLRequest("http://airdownload.adobe.com/air/browserapi/air.swf"),loaderContext);
    function onInit(e:Event):void 
                                  airSWF = e.target.content; 
                                  switch(airSWF.getStatus().toString())
                                            case "available" : AirLoaderStatus = 1;
                                            break;
                                            case "unavailable" : AirLoaderStatus = 2;
                                            break;
                                            case "installed" : AirLoaderStatus = 3;
                                            break;
    private function getAppStatus():void
                                  clearInterval(intervalIdentifier);
                                  if(AirLoaderStatus == 0){intervalIdentifier = setInterval(getAppStatus,1000);return;}
                                  m_launchInstallBtn.visible = true;
                                  var statusInfo:String = airSWF.getStatus();
                                  airSWF.getApplicationVersion(m_installerFileName, m_pubID, versionDetectCallback);
    function versionDetectCallback(version:String):void
                                  if (version == null)
                                            trace("Not Installed");
                                            // Take appropriate actions. For instance, present the user with
                                            // an option to install the application.
                                  else
                                            m_isPluginsInstalled = true;
                                            // Take appropriate actions. For instance, enable the
                                            // user interface to launch the application.
    private function onlickMouse(event:MouseEvent):void
                                  m_text.text += "\nm_isPluginsInstalled:"+m_isPluginsInstalled+":::AirLoaderStatus:"+AirLoaderStatus;
                                  trace("\nm_isPluginsInstalled:"+m_isPluginsInstalled+":::AirLoaderStatus:" +AirLoaderStatus);
                                  switch(event.currentTarget)
                                            case m_launchInstallBtn:
                                                         if(AirLoaderStatus == 1)
           installAirsetup();
                                                      else
                                                                if(!m_isPluginsInstalled)
                                                                          airSWF.installApplication(m_url, m_runtimeVersion, m_argsToPass);
                                                                          airSWF.launchApplication(m_installerFileName, m_pubID, m_argsToPass);
                                                                else
                                                                          airSWF.launchApplication(m_installerFileName, m_pubID, m_argsToPass);
                                            break;
    in the above code snippet I pass localConnection for send and recieve as an argument in m_argsToPass.
    the connection names strarts with "_".
    In the air application I I split the event arguments like given below
    argsArray = event.arguments.toString().split(",");
    and then try to establish connection.
    Please suggest, how could I clean the connection on lost/ abort of browser, since then swf object embeded in browser also get lost.

  • Problem with Expose and Adobe AIR application -can't click on app in Expose

    I just installed a new Adobe AIR application called TwitterLocal. The app was working fine until I accidently hit some keyboard shortcut and the application window disappeared. I figured I accidently assigned the window to some other "space," however I do not have SPACES turned on. Furthermore, when I select EXPOSE, I can now see the content of the application's window, however if I click on the app (which takes on that grey-highlight appearance when you mouse over it) the desktop returns to its normal position. I can see via the top status bar that the app is currently selected, but I cannot access the app window.
    Is there any way to send an app that was "sent" to expose back to the normal desktop? I've tried rebooting and even uninstalling/reinstalling the app but it is still lost in expose.
    Any thoughts on this would greatly be appreciated.

    Solution was to change display to lower resolution, then the Adobe AIR app TwitterLocal became visible on the standard desktop and I was able to click on and move the app window towards the left of the desktop. Once I switched the resolution back, everything was ok.

  • How to open and show a word, excel, ppt file in Adobe AIR application?

    Dear All,
    I have a requirement to open a MS- word/ Excel file in the AIR application.
    On click of a brows button a file reference box opens...on any file
    selection...it should open in the application itself...
    so plz let me know the solutions u have...

    Here is your basic issue: setting a classpath (and presumably compiling and executing a program) is one of the most basic, fundamental concepts in Java. I would advise you to follow JVerd and Annie's links and get started on a tutorial. Try writing a simple HelloWorld application before delving into POI. When you are more comfortable writing and compiling programs, and post a specific question, it will be much easier to help you.
    - Saish

  • How to get the data from mysql database which is being accessed by a PHP application and process the data locally in adobe air application and finally commit the changes back in to mysql database through the PHP application.

    How to get the data from mysql database which is being accessed by a PHP application and process the data locally in adobe air application and finally commit the changes back in to mysql database through the PHP application.

    If the data is on a remote server (for example, PHP running on a web server, talking to a MySQL server) then you do this in an AIR application the same way you would do it with any Flex application (or ajax application, if you're building your AIR app in HTML/JS).
    That's a broad answer, but in fact there are lots of ways to communicate between Flex and PHP. The most common and best in most cases is to use AMFPHP (http://amfphp.org/) or the new ZEND AMF support in the Zend Framework.
    This page is a good starting point for learning about Flex and PHP communication:
    http://www.adobe.com/devnet/flex/flex_php.html
    Also, in Flash Builder 4 they've added a lot of remote-data-connection functionality, including a lot that's designed for PHP. Take a look at the Flash Builder 4 public beta for more on that: http://labs.adobe.com/technologies/flashbuilder4/

  • How to Call a AIR application from Flex Application

    Hi,
        I have Used AIR (Desktop application) in Flex Builder to Upload a File from a local path and save it it a server path.
    I need to Call this AIR(Desktop application) from my Flex Application.... i.e
    I am using a link button to send a event using Script and Forward that Desktop application  from Flex Screen
    But it doesnot load that (Desktop application)  in Screen. Only Balnk screen is loaded from path
    Here is the code
    AIR(Desktop application)
    <?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication 
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="openBrowseWindow();">
    <mx:HTTPService id="urlpath" showBusyCursor="true" useProxy="false" method="
    POST" url="http://localhost:8080/nat/FlexAction.do?method=UrlPath"result="pathresult(event)"
    fault="faultHandler(event)"
    >  
    </mx:HTTPService> 
    <mx:Script>
    <![CDATA[
    import mx.events.FileEvent; 
    import mx.rpc.events.ResultEvent; 
    import mx.rpc.events.FaultEvent; 
    import mx.utils.ObjectUtil;  
    import mx.controls.Alert;
    private  
    var openFile:File = new File() 
    private  
    function openBrowseWindow():void{openFile.addEventListener(Event.SELECT, onOpenFileComplete);
    openFile.addEventListener(Event.OPEN, load);
    openFile.browse();
    private  
    function load():void{Alert.show(
    "load"); 
    var imageTypes:FileFilter = new FileFilter("Images (*.jpg, *.jpeg, *.gif, *.png)", "*.jpg; *.jpeg; *.gif; *.png"); 
    //var textTypes:FileFilter = new FileFilter("Text Files (*.txt, *.rtf)", "*.txt; *.rtf"); 
    var allTypes:Array = new Array(imageTypes);openFile.browse(allTypes);
    private  
    function faultHandler(event:FaultEvent):void { 
    //Alert.show("Fault")Alert.show(ObjectUtil.toString(event.fault));
     private  
    function pathresult(event:ResultEvent):void{Alert.show(
    "res") 
    //Alert.show(ObjectUtil.toString(event.result));}private  
    function onOpenFileComplete(event:Event):void{ 
    //mx.controls.Alert.show("event: "+event.target.nativePath +"UR!!!"); 
    var pPath = event.target.nativePath; 
    var parameters:Object = {FlexActionType:"PATH",path:pPath};  
    // Alert.show("Image Selected from Path : "+pPath); urlpath.send(parameters);
    //Alert.show("Passed.."+parameters);}
    ]]>
    </mx:Script>
    <mx:Button click="openBrowseWindow();onOpenFileComplete(event)" name="Upload" label="Upload" x="120.5" y="10"/> 
    Here is Mxml Code for Flex Application
    <?xml version="1.0" encoding="utf-8"?><mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns="http://ns.adobe.com/air/application/1.0.M4" >
    <mx:Script>
    <![CDATA[
    import mx.controls.Alert; 
    private function Upload():void{ 
    // CursorManager.setBusyCursor();  
    //var url:String = "HomeAction.do?method=onLoad"; 
    //var url:String = "assets/Air.swf"; 
    var url1:URLRequest = new URLRequest("assets/Air.swf");navigateToURL(url1,
    "_self"); 
    // CursorManager.removeBusyCursor(); }
    ]]>
    </mx:Script>
    <mx:LinkButton id="up" click="Upload()" x="295" y="215" label="UpLoad"/>
    In this code i forward using s url to Open tat  Desktop application but a blank screen appears with out the proper output...
    Please Help me in this to forward AIR from Flex Screen..
    Thanks in Advance
    With Regards
    Gopinath.A
    Software Developer
    First Internet Systems Pvt. Ltd.,
    Chennai

    try this
    http://www.leonardofranca.com/index.php/2009/09/17/launching-an-installed-air-application- from-the-browser/
    regards
    Leonardo França
    Adobe Certified Expert Flex 3 with AIR
    Adobe Certified Expert Rich Internet Application Specialist v1.0
    Adobe Certified Expert Flash CS3 Professional
    Certified Professional Adobe Flex 2 Developer
    Adobe Certified Professional Flash MX 2004 Developer
    http://www.leonardofranca.com
    http://twitter/leofederal
    Manager AUGDF - Adobe User Group do Distrito Federal
    http://www.augdf.com.br
    http://twitter/augdf

Maybe you are looking for

  • How to transfer photo from mac to i phone

    how to transfer regular photos (not taken from I phone) from mac to i phone

  • IPod touch 4 iOS 5 connection problems

    hi i just downloaded the ios 5.0 gm and the new itunes and when i restored my itouch to 5.0 the wifi stopped working. id type in the password and next to hte name of the network it had the loading sign. But when the wifi icon would finally appear at

  • Mass data change of cost center in asset master record

    Hi Gurus, I followed all the steps suggested by sap library and the below link.  But the cost centers are not getting updated.  When refreshed in TC-ar31 the status is completed instead of ended, no errors. but no change in master record.  Pl suggest

  • Disable application switch to browser after clicking link in Mail

    When I click a link in an email message, my Mac automatically switches to my browser (Firefox) to view the linked page. How can I have the link open in the background but stay in Mail? I would like to be able to click links in email messages but keep

  • Troubleshooting file permissions

    When editing file permissions on a Unix Tru64 server through DW 8 I get the error "Setting access properties failed for: <Filename> For additional information check the FTP log" But the site ftp log is blank. As I download files the log addes additio