What's covered

Installing Adobe AIR

AIR 1.0.1 runtime and AIR application installation

Installation of the AIR 1.0.1 runtime and AIR applications requires administrator privileges.

Seamless installation

The Adobe AIR 1.0.1 seamless installation feature requires Flash Player 9 Update 3 (version 9.0.115).To install Beta 3 version AIR applications using the seamless install feature, you need to use the Beta 3 version of AIR. In other words, AIR 1.0.1 does not support the installation of Beta 3 AIR applications with the seamless install feature. A sample badge is provided for the seamless install feature that can be customized.

AIR beta runtime expiration dates

The Adobe AIR Alpha 1 and Beta 1 runtimes have expired. To run applications built for these expired runtimes, you need to upgrade them to AIR 1.0.1. Likewise, the Adobe AIR Beta 2 expires on June 1, 2008 and Adobe AIR Beta 3 expires November 1, 2008. Once expired, all AIR applications built on these runtimes need to be updated to the AIR 1.0.1 runtime. Users cannot install applications developed for an expired runtime.

Publisher may display "unknown" on new Windows Vista installations

Due to the current Windows Vista on-demand certification retrieval model, the publisher may be displayed as "unknown" during installation. This can occur even though the application was signed with a Thawte or Comodo certificate.

Location to the most current AIR runtime needs to be updated

The location to the latest AIR runtime are not reflected in the sample badge files (default_badge.html and red_badge.html) provided in the AIR SDK 1.0.1. The current sample badge files provided in the AIR SDK 1.0.1 point to:

  • http://airdownload.adobe.com/air/win/download/1.0/AdobeAIRInstaller.exe
  • http://airdownload.adobe.com/air/mac/download/1.0/AdobeAIR.dmg

The correct locations are as follows:

  • http://airdownload.adobe.com/air/win/download/latest/AdobeAIRInstaller.exe
  • http://airdownload.adobe.com/air/mac/download/latest/AdobeAIR.dmg

Important: Your existing badge installations (created for AIR 1.0) must also be updated with the new locations.

Tips and Tricks

Screen capture of AIR applications

Some screen capture applications do not properly capture AIR applications that contain transparent windows--they are not visible in Windows. The following screen capture applications support layered windows and properly capture a transparent AIR window:

Opening an AIR application with Safari on Mac OS

On Mac OS X, when using Safari, clicking a link to install an AIR application downloads it to the desktop on Mac OS 10.4 (Tiger) and to the downloads folder on Mac OS 10.5 (Leopard), rather than installing the application. You can then double-click the downloaded .air file to install the application.

Setting the MIME type on your Web server for AIR applications

For client browsers to recognize an AIR application when being downloaded, the web server hosting the AIR application needs to map the application/vnd.adobe.air-applicationinstaller-package+zip MIME content type to the ".air" extension. For example, for an Apache web server, add the following to the AddType section:

AddType application/vnd.adobe.air-application-installer-package+zip .air

Debugging mode

The debugging mode is enabled when launching an application from ADL, unless the -nodebug flag is specified. When in debugging mode, the runtime makes additional checks and generates additional debugging information. If an error occurs, debugging messages are displayed. Your application may run more slowly while in debugging mode.

Troubleshooting

PDF content does not display

To display PDF content in AIR, make sure that Adobe Reader 8.1 or later is installed.

International characters are not displayed

Only Western characters are supported.

Clicking a link that loads an image (rather than an HTML page) does not render the image, but displays the image bytes.

HTTP limitations on Windows

On Windows, there is no support for auto redirection from PUT, POST, or DELETE methods. AIR also does not support flat or gzip decompression of HTTP responses.

Unsupported URL schemes

Unsupported URL schemes fail silently when called from JavaScript (for example, <a href="javascript:alert()"> does not throw exception).

Date JavaScript objects passed through a sandbox bridge lose their original type

The workaround is to serialize the data and pass date/time as milliseconds.

Setting the width or height of an iframe to 100% may cause unexpected results

The workaround is to set them to a value less than 100%.

SWF content in HTML

  • When the size of the native window displaying the web page is smaller than the size of the SWF content, the SWF content might overlap the horizontal and vertical scroll bars. The workaround is to make sure that the native window is larger than the SWF content.
  • On Windows, if SWF content uses âœwindowlessâ mode, changes to the Flash Player Settings UI have no effect.

Object scaling

If the scaleMode property of the Stage is set to a value other than "NO_SCALE", the content drawn on the Stage is scaled.

SQLConnection.open files on AFP or SMB drives

Passing a file that is located on a drive mounted via AFP or SMB to the SQLConnection.open() method is not supported. You will receive the error: "Error #3119: Database file is currently locked."

SQL Database and Mac OS 10.5 Time Machine feature

Running Mac OS 10.5 Time Machine while executing certain SQL database transactions may lead to inconsistencies in your database. The workaround is to make sure the database is excluded from automatic back up by Time Machine.

DATE and DATETIME column affinities are incompatible with AIR Beta versions

The "DATE" and "DATETIME" column affinities in AIR 1.0.1 for SQL databases have changed and are incompatible with beta versions. If you have existing database files that include the use of "DATE" or "DATETIME" as an affinity (column type), those tables must be repopulated to operate properly. To convert data created by the beta version of AIR, use code such as the following:

// table was created using the following SQL â” CREATE TABLE post (idINTEGER PRIMARY KEY,
		
	    post_date DATE, title TEXT, content TEXT, author_idINTEGER); 
		
	    // select the data from the existing table casting the date as an integer
		
	    (this avoids the incorrect Julian Date conversion) 
		
	    sql.text = "select id, cast (post_date as integer) as p_date from post;"; 
		
	    sql.clearParameters(); 
		
	    sql.execute(); 
		
	    // update the table with the new values 
		
	    var result:SQLResult = sql.getResult(); 
		
	    feeds.dataProvider = result.data; 
		
	    sql.text = "update post set post_date = :d where id = :id;"; 
		
	    for (i=0; i<result.data.length; i++) 
		
	    { 
		
	    sql.parameters[":id"] = i; 
		
	    sql.parameters[":d"] = new Date(result.data[i].p_date); 
		
	    sql.execute(); 
		
	    } 

Column affinity behavior is incompatible with AIR Beta versions

When a column has a declared type (affinity), the column can prevent a row from successful insertion. In AIR 1.0.1, column types are enforced. If the value specified for a column cannot be successfully converted to the declared column type (affinity), the update/insert operation fails. For example:

// table was created using the following SQL- CREATE TABLE x (a INTEGERPRIMARY KEY, b INTEGER); 
		
	    sql.text = "INSERT INTO x VALUES (1, 5.5);" 
		
	    sql.execute(); // because the value specified for column b (5.5) 
		
	         is not an integer value this insert fails. 
		
	    // table was created using the following SQL- CREATE TABLE y (a INTEGERPRIMARY KEY, b DATE); 
		
	    sql.text = "INSERT INTO y (1, '');" 
		
	    sql.execute(); // because the value specified for column b ('') 
		
	         cannot be converted to a date this insert fails. 

ContextMenu.visible property

Setting the ContextMenu.visible property has no effect. Items are always displayed.

Dock and Menu bar not hiding on Mac in full-screen mode for overlay window

When an overlay window lays above a full-screen window, the application menu bar and the system dock do not hide on Mac OS X. To fix this, set the window type of the floating window to "lightweight" (window type="lightweight").

nativeWindow.height reported incorrectly in resize event

The nativeWindow.height is reported incorrectly when read in a resize event handler. The workaround is to use the event.afterBounds.height instead.

Using the data property for NativeMenuItem

The NativeMenuItem.data property should only be assigned a String or an instance of Object. Other data types, such as int or number objects, are not supported in this release.

Setting idleThreshold

If you set the idleThreshold property on the NativeApplication object after registering for the userIdle event, you get the default idleThreshold setting rather than the value you set. The workaround is to unregister the event handler, set the threshold, and then re-register.

Tracing to Console

If your system has an mm.cfg file containing the parameter TraceOutputFileEnable=1, no trace output is sent to the console. The workaround is to remove this parameter from the mm.cfg file. The mm.cfg file is located at "c:\Documents and Settings\<username>" on Windows and "\Users\<username>" on Mac.

Passing high ASCII characters to ADT

High ASCII characters are not supported as arguments passed to ADT.

Passing header "Cookie" to the requestHeaders property of a URLRequest object when manageCookies=true is not sent to the server.

Binding file extensions on Parallels

On a Windows system in Parallels, trying to bind a file extension through the setAsDefaultApplication() method does not have any effect.

Firefox not used as the default browser

On Windows Vista, calling the navigateToURL() function may not open the default browser; it always opens Internet Explorer. To workaround this problem, go to Start > Default Programs > Set Program Access and Computer Defaults, expand Custom, select the radio button next to the application you want to set as the system-wide default browser (for example, Mozilla Firefox) and apply the setting.

Code Signing

The following code signing certificates are fully supported:

  • VeriSign
  • Thawte

Other certificates work (Comodo, for example) but the publisher may be displayed as "unknown".

Full certificate path required for code signing

Some certificate vendors (VeriSign for example) do not provide by default the full certificate path; however, this is required for signing AIR applications. For information about creating a keystore with a full certificate chain, see http://access1.sun.com/techarticles/Keytool.html.

Point object returned from NativeWindow.globalToScreen() method may have incorrect Y value on non-primary display

The Y value returned by the NativeWindow.globalToScreen() method may not be accurate if the parameter does not reflect a point that is on the main screen display in certain configurations involving multiple monitors.

AIR applications and MobyDock

MobyDock, a freeware customizable taskbar application for Windows, prevents AIR applications from running. Close MobyDock while installing and running AIR applications.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy