Empaquetado de un paquete de motor de ejecución captador para equipos de escritorio

Un paquete de motor de ejecución captador es un paquete que incluye el código de la aplicación junto con una versión dedicada del motor de ejecución. Una aplicación empaquetada de esta forma utiliza el motor de ejecución del paquete, no el motor de ejecución compartido que esté instalado en el ordenador del usuario.

El paquete producido es una carpeta con archivos de aplicación en Windows y un paquete .app en Mac OS. Debe generar el paquete para un sistema operativo de destino mientras esté en dicho sistema operativo. (Se puede utilizar una máquina virtual, como VMWare, para ejecutar varios sistemas operativos en un solo ordenador.)

La aplicación se puede ejecutar desde dicha carpeta o paquete sin necesidad de instalación.

Ventajas

  • Produce una aplicación ya llena

  • No se requiere acceso a Internet para la instalación

  • La aplicación está aislada de actualizaciones del motor de ejecución

  • Las empresas pueden certificar la combinación específica de aplicación y motor de ejecución

  • Admite el modelo tradicional de desarrollo de software

  • No se requiere redistribución independiente de motor de ejecución

  • Puede utilizar la API NativeProcess

  • Puede utilizar extensiones nativas

  • Puede usar la función File.openWithDefaultApplication() sin restricciones

  • Puede ejecutarse desde un USB o disco óptico sin necesidad de instalación

Desventajas

  • Las soluciones críticas de seguridad no están disponibles para los usuarios de forma automática cuando Adobe publica parches de seguridad.

  • No se puede usar el formato de archivo .air

  • Debe crear su propio archivo de instalación, si es necesario

  • No se admite la API de actualización de AIR ni el marco

  • No se admite la API de navegador de AIR para instalar e iniciar una aplicación de AIR desde una página web

  • En Windows, el registro debe asumirlo el archivo de instalación

  • Mayor huella de la aplicación en el disco

Creación de un paquete de motor de ejecución captador en Windows

Para crear un paquete de motor de ejecución captador para Windows, debe empaquetar la aplicación mientras esté en el sistema operativo Windows. Empaquete la aplicación con el destino ADT bundle:

adt -package 
    -keystore ..\cert.p12 -storetype pkcs12 
    -target bundle 
    myApp 
    myApp-app.xml 
    myApp.swf icons resources

Este comando crea el paquete en un directorio llamado myApp. El directorio contiene los archivos para la aplicación, así como los archivos del motor de ejecución. Puede ejecutar el programa directamente desde la carpeta. No obstante, para crear una entrada de menú para el programa, registrar tipos de archivo o controladores de esquemas URI, debe crear un programa de instalación que establezca las entradas del registro de requisitos. El SDK de AIR no incluye herramientas para crear estos archivos de instalación, pero muchos otros fabricantes sí ofrecen (gratis y previo pago) kits de herramientas de archivos de instalación con código abierto.

Puede firmar el código ejecutable nativo en Windows especificando un segundo conjunto de opciones de firma tras la entrada -target bundle en la línea de comandos. Estas opciones de firma identifican la clave privada y el certificado asociado que deben utilizarse para aplicar la firma nativa de Windows. (Se suele utilizar un certificado de firma de código de AIR.) Solo se firma el código ejecutable principal. El resto de ejecutables se empaquetan con la aplicación y no se firman en este proceso.

Asociación de tipos de archivo

Para asociar la aplicación a tipos de archivo públicos o personalizados en Windows, el programa de instalación debe ajustar las entradas correspondientes del registro. Los tipos de archivo se enumeran también en el elemento fileTypes del archivo descriptor de la aplicación.

Para obtener más información sobre los tipos de archivo de Windows, consulte MSDN Library: File Types and File Associations (en inglés)

Registro del controlador de URI

Para que la aplicación pueda controlar la apertura de una dirección URL con un esquema URI dado, el archivo de instalación debe definir las entradas del registro de requisitos.

Para obtener más información sobre el registro de una aplicación para controlar un esquema URI, consulte MSDN Library: Registering an Application to a URL Protocol (en inglés)

Creación de un paquete de motor de ejecución captador en Mac OS X

Para crear un paquete de motor de ejecución captador para Mac OS X, debe empaquetar la aplicación mientras esté en el sistema operativo Mac OS X. Empaquete la aplicación con el destino ADT bundle:

adt -package 
    -keystore ../cert.p12 -storetype pkcs12 
    -target bundle 
    myApp.app 
    myApp-app.xml 
    myApp.swf icons resources

Este comando crea el paquete de la aplicación llamado myApp.app. El paquete contiene los archivos para la aplicación, así como los archivos del motor de ejecución. Puede ejecutar la aplicación haciendo doble clic en el icono myApp.app e instalarla arrastrando a una ubicación adecuada, como la carpeta Aplicaciones. Sin embargo, para registrar tipos de archivo o controladores de esquemas URI, debe editar el archivo de la lista de propiedades dentro del paquete de la aplicación.

Para distribuir el archivo, puede crear un archivo de imagen de disco (.dmg). El SDK de Adobe AIR no proporciona herramientas para crear un archivo dmg para un paquete de motor de ejecución captador.

Asociación de tipos de archivo

Para asociar la aplicación a tipos de archivo personalizados o públicos en Mac OS X, debe editar el archivo info.plist del paquete para definir la propiedad CFBundleDocumentTypes. Consulte Mac OS X Developer Library: Information Property List Key Reference, CFBundleURLTypes (en inglés).

Registro del controlador de URI

Para que la aplicación pueda controlar la apertura de una dirección URL con un esquema URI determinado, debe editar el archivo info.plist del paquete para definir la propiedad CFBundleURLTypes. Consulte Mac OS X Developer Library: Information Property List Key Reference, CFBundleDocumentTypes (en inglés).