martes, 14 de junio de 2011

Actualizar una aplicación desde Internet con Adobe AIR

Primero debemos crear un archivo XML el cual controlará la versión. Se debe ubicar de preferencia en el servidor de la aplicación, por ejemplo: 

Ahora verificaremos la versión de este archivo contra la versión de la aplicación, con lo cual procederemos a la actualización:

Con su respectivo listener:

Hasta aqui es solo leer un archivo XML. Obviamente hay que llamar a la función verificarActualizaciones() para que inicie la verificación. Ahora que sabemos la versión, estamos listos para bajar la nueva versión. Para ello la bajaremos como un archivo binario (obviamente):
//
var stream:URLStream;
var fileData:ByteArray;
//
Al finalizar de leer el archivo XML, lanzamos una función que baje el archivo AIR (bajarActualizacion()).

Ahora haremos la función que inicia la copia del archivo en nuestra máquina:

Disparamos la función listener Observe que estamos grabando el archivo en el escritorio, aunque lo mas propio sería grabarlo en la carpeta de la aplicacción (applicationDirectory):

Ya una vez abajo el archivo, procederemos a actualizar la aplicación. Claro, primero comprobaremos la versión actual de la aplicación con la nueva versión:
Al verificar la aplicación con AIR Debug Launcher (ADL), llamar al método update() produce una excepción IllegalOperationError.
En Mac OS, para instalar una versión actualizada de una aplicación, el usuario debe disponer de los privilegios necesarios para instalar aplicaciones en el directorio de aplicaciones. En Windows o en Linux, el usuario debe disponer de privilegios de administrador.
Si la versión actualizada de la aplicación requiere una versión actualizada del motor de ejecución de , se instala la versión más reciente del motor de ejecución. Para actualizar el motor de ejecución, el usuario debe disponer de privilegios de administrador en el equipo.
Nota: es preciso especificar el parámetro version por motivos de seguridad. Al solicitar a la aplicación que verifique el número de versión del archivo de AIR, la aplicación no instala de forma accidental una versión anterior que aún pueda contener vulnerabilidades de seguridad solucionadas en versiones posteriores.
Parámetros

airFile:File — Objeto File que apunta al archivo de AIR que contiene la versión de actualización de la aplicación
 

version:String — Versión requerida por el nuevo archivo de AIR. La cadena del atributo version del elemento application principal del archivo descriptor de la aplicación para el archivo de AIR debe coincidir con este valor para que la actualización se realice correctamente.


No hay comentarios:

Publicar un comentario