Empaquetado de un instalador nativo de escritorio

Desde AIR 2, ADT puede utilizarse para crear instaladores de la aplicación nativos para distribuir aplicaciones de AIR. Por ejemplo, es posible crear un archivo de instalación EXE para la distribución de una aplicación de AIR en Windows. Se puede crear un archivo de instalación DMG para la distribución de una aplicación de AIR en Mac OS. Es posible crear un archivo de instalación DEB o RPM para la distribución de una aplicación de AIR en Linux.

Las aplicaciones instaladas con un instalador de aplicación nativo se conocen como aplicaciones de perfil de escritorio ampliadas. No es posible utilizar ADT para empaquetar un instalador nativo para una aplicación de AIR si el archivo descriptor de la aplicación no admite el perfil ampliado de escritorio. Este perfil se puede restringir utilizando el elemento supportedProfiles en el archivo descriptor de la aplicación. Consulte Perfiles de dispositivo y supportedProfiles.

Se puede crear una versión del instalador nativo de la aplicación de AIR de dos formas básicas:

  • Se puede crear el instalador nativo basado en el archivo descriptor de la aplicación y otros archivos de origen: (Otros archivos de origen pueden incluir archivos SWF, HTML y otros recursos.)

  • El instalador nativo se puede crear en función de un archivo de AIR o un archivo AIRI.

ADT se debe utilizar en el mismo sistema operativo que el del archivo de instalación nativo que se desea generar. Por lo tanto, para crear un archivo EXE para Windows, ejecute ADT en Windows. Para crear un archivo DMG para Mac OS, ejecute ADT en Mac OS. Para crear un archivo DEB o RPG para Linux, ejecute ADT en Linux.

Cuando se crea un instalador nativo para distribuir una aplicación de AIR, la aplicación gana estas capacidades:

  • Puede iniciar e interactuar con los procesos nativos, utilizando la clase NativeProcess. Para obtener más información, consulte una de las siguientes referencias:
  • Puede utilizar el método File.openWithDefaultApplication() para abrir cualquier archivo con la aplicación del sistema predeterminada definida para abrirlo, independientemente de su tipo de archivo. (Existen limitaciones en las aplicaciones que no están instaladas con un instalador nativo. Para obtener más información, consulte la entrada para File.openWithDefaultApplication() en la referencia del lenguaje.)

Sin embargo, cuando el empaquetado se realiza como instalador nativo, se pierden algunas de las ventajas del formato de archivo de AIR. Un solo archivo ya no se puede distribuir en todos los equipos de escritorio. La función de actualización incorporada (así como el marco actualizador) no funciona.

Si el usuario hace doble clic en el archivo de instalación nativo, se instalará la aplicación de AIR. Si la versión necesaria de Adobe AIR aún no está instalada en el equipo, el instalador la descarga de la red y la instala en primer lugar. Si no hay conexión de red con la que obtener la versión correcta de Adobe AIR (si es necesaria), se produce un error de instalación. Asimismo, la instalación falla si el sistema operativo no se admite en Adobe AIR 2.

Nota: si desea que un archivo sea ejecutable en su aplicación instalada, asegúrese de que lo es en el sistema de archivos en el momento de empaquetar la aplicación. (En Mac y Linux, puede utilizar chmod para establecer el indicador de ejecutable, si es necesario.)

Creación de un instalador nativo a partir de los archivos de origen de la aplicación

Para crear un instalador nativo a partir de los archivos de origen para la aplicación, utilice el comando -package con la siguiente sintaxis (en una sola línea de comandos):

adt -package AIR_SIGNING_OPTIONS-target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_fileapp_xml [file_or_dir | -C dir file_or_dir | -e file dir ...] ...

Esta sintaxis es similar a la sintaxis para empaquetar un archivo de AIR (sin un instalador nativo). Sin embargo, existen algunas diferencias:

  • La opción -target native se añade al comando. (Si se especifica -target air, ADT genera un archivo de AIR en lugar de un archivo de instalación nativo.)

  • El archivo DMG o EXE de destino se especifica como installer_file.

  • De forma opcional, en Windows es posible añadir un segundo conjunto de opciones de firma, indicado como [WINDOWS_INSTALLER_SIGNING_OPTIONS] en el listado de sintaxis. En Windows, además de firmar un archivo de AIR, se puede firmar el archivo de Windows Installer. Utilice el mismo tipo de certificado y sintaxis de opción de firma que se usaría para firmar el archivo de AIR (consulte Opciones de firma de código de ADT). Se puede emplear el mismo certificado para firmar el archivo de AIR y el archivo de instalación, o bien, se pueden especificar certificados diferentes. Cuando un usuario descarga un archivo firmado de Windows Installer de la web, Windows identifica el origen del archivo, en función del certificado.

Para obtener más información sobre las opciones de ADT distintas de -target, consulte AIR Developer Tool (ADT).

En el siguiente ejemplo se crea un archivo DMG (un archivo de instalación nativo para Mac OS):

adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.dmg application.xml index.html resources

En el siguiente ejemplo se crea un archivo EXE (un archivo de instalación nativo para Windows):

adt -package -storetype pkcs12 -keystore myCert.pfx -target native myApp.exe application.xml index.html resources

En el siguiente ejemplo se crea un archivo EXE y se firma:

adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe application.xml index.html resources

Creación de un instalador nativo a partir de un archivo de AIR o un archivo de AIRI

ADT se puede utilizar para generar un archivo de instalación nativo basado en un archivo de AIR o AIRI. Para crear un instalador nativo basado en un archivo de AIR, utilice el comando -package de ADT con la siguiente sintaxis (en una sola línea de comandos):

adt -package -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file air_file

Esta sintaxis es similar a la que se utiliza para crear un instalador nativo basado en los archivos de origen para la aplicación de AIR. Sin embargo, existen unas cuantas diferencias:

  • Como origen, se especifica un archivo de AIR, en lugar de un archivo descriptor de la aplicación y otros archivos de origen para la aplicación de AIR.

  • No especifique opciones de firma para el archivo de AIR, ya que ya está firmado.

Para crear un instalador nativo basado en un archivo de AIRI, utilice el comando -package de ADT con la siguiente sintaxis (en una sola línea de comandos):

adt AIR_SIGNING_OPTIONS -package -target native [WINDOWS_INSTALLER_SIGNING_OPTIONS] installer_file airi_file

Esta sintaxis es similar a la que se emplea para crear un instalador nativo basado en un archivo de AIR. Sin embargo, existen unas cuantas diferencias:

  • Como origen, se especifica un archivo de AIRI.

  • Se especifican opciones de firma para la aplicación de AIR de destino.

En el siguiente ejemplo se crea un archivo DMG (un archivo de instalación nativo para Mac OS) basado en un archivo de AIR:

adt -package -target native myApp.dmg myApp.air

En el siguiente ejemplo se crea un archivo EXE (un archivo de instalación nativo para Windows) basado en un archivo de AIR:

adt -package -target native myApp.exe myApp.air

En el siguiente ejemplo se crea un archivo EXE (basado en un archivo de AIR) y se firma:

adt -package -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.air

En el siguiente ejemplo se crea un archivo DMG (un archivo de instalación nativo para Mac OS) basado en un archivo de AIRI:

adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.dmg myApp.airi

En el siguiente ejemplo se crea un archivo EXE (un archivo de instalación nativo para Windows) basado en un archivo de AIRI:

adt -storetype pkcs12 -keystore myCert.pfx -package -target native myApp.exe myApp.airi

En el siguiente ejemplo se crea un archivo EXE (basado en un archivo de AIRI) y se firma con una firma nativa de Windows y de AIR:

adt -package -storetype pkcs12 -keystore myCert.pfx -target native -storetype pkcs12 -keystore myCert.pfx myApp.exe myApp.airi