7.distribucion de aplicaciones
DESCRIPTION
Componentes de una aplicación. Empaquetado. Instaladores. Paquetes autoinstalables. Herramientas para crear paquetes de instalación. Parámetros de la instalación. Personalización de la instalación: logotipos, fondos, diálogos, botones, idioma, entre otros. Asistentes de instalación y desinstalación. — Interacción con el usuario. Ficheros firmados digitalmente. Instalación de aplicaciones desde un servidor web. Descarga y ejecución de aplicaciones ubicadas en servidores web.TRANSCRIPT
1
Desarrollo de interfaces: 7. DISTRIBUCIÓN DE APLICACIONES
Jose Alberto Benítez [email protected]
@indiproweb@jabenitez88
Jose Alberto Benítez Andrades– [email protected] - @indiproweb
2
DOCUMENTACIÓN DE APLICACIONES – Contenido
Componentes de una aplicación. Empaquetado. Instaladores. Paquetes autoinstalables. Herramientas para crear paquetes de instalación. Parámetros de la instalación. Personalización de la instalación: logotipos, fondos, diálogos,
botones, idioma, entre otros. Asistentes de instalación y desinstalación. — Interacción con el
usuario. Ficheros firmados digitalmente. Instalación de aplicaciones desde un servidor web. Descarga y ejecución de aplicaciones ubicadas en servidores web.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
3
HERRAMIENTAS PARA CREAR PAQUETES INSTALABLES DE
NUESTROS PROGRAMAS
Jose Alberto Benítez Andrades– [email protected] - @indiproweb
4
INSTALLSIMPLE
http://www.rnlogic.com/Software/InstallSimple.htm
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
5
INSTALLSIMPLE
Una vez tenemos instalado InstallSimple ejecutamos.
Vemos la pantalla de Bienvenida y clickamos en Next.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
6
INSTALLSIMPLE
Nos pide los datos de Título de Ventana y Nombre del producto.
El título del programa, aparecerá en la parte superior izquierda de nuestro instalador.
El nombre, será el nombre que tenga el programa en nuestro ordenador cuando lo instalemos.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
7
INSTALLSIMPLE
Una vez hemos clickado en Next , tendremos una ventana en la que podremos insertar un texto de bienvenida de nuestro instalador.
Esto es el primer mensaje que verán los usuarios al ejecutar el instalador de nuestro programa.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
8
INSTALLSIMPLE
Una vez hemos clickado en Next , tendremos una ventana en la que podremos insertar un texto de finalización de instalación de nuestro programa.
Este mensaje aparecerá una vez haya finalizado la instalación de nuestro programa.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
9
INSTALLSIMPLE
Seguidamente, nos pedirá que insertemos nuestro texto de licencia.
Este texto de licencia, tendrá que ser aceptado por el usuario mientras realiza la instalación del programa.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
10
INSTALLSIMPLE
Después de haber insertado nuestros textos, llegamos a la elección de las imágenes de nuestro instalador.
Por una parte, en Splash Screen nos pide que insertemos una imagen y un retardo. Esta imagen es la primera que se verá al abrir el instalador hasta que realmente aparezca el instalador.
Además de esta nos pide la imagen superior y lateral.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
11
INSTALLSIMPLE
Una vez hemos elegido nuestras imágenes (que deben estar en formato .bmp), nos pide que insertemos el directorio donde se encuentra el programa que vamos a querer empaquetar.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
12
INSTALLSIMPLE
Después de haber seleccionado la carpeta donde tenemos los ficheros que deseamos instalar, nos pide que indiquemos el directorio donde queremos que se instale nuestro programa por defecto.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
13
INSTALLSIMPLE
Seguidamente nos permite configurar si deseamos crear accesos directos en el escritorio, o en el menú de inicio…. Y asignarle un grupo si lo deseamos.
También nos genera un fichero Uninstall.exe de forma que el usuario pueda desinstalar nuestro programa a través de él.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
14
INSTALLSIMPLE
Si lo necesitáramos, podríamos generar incluso una clave de registro, de forma que, al instalar nuestro programa, se inserte una clave de registro en nuestro sistema operativo.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
15
INSTALLSIMPLE Para finalizar, nos pedirá los
requerimientos del sistema que necesita nuestro programa.
Podemos marcar que es válido para todas las versiones de Windows o para una versión concreta.
Además nos permite marcar una casilla en la cual indicamos que nuestro programa de instalación necesita permisos de administrador.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
16
INSTALLSIMPLE Nos indica si necesitamos que
despué sde la instalación se reinicie el ordenador o no.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
17
INSTALLSIMPLE Y al clickar en Build ya
tendremos nuestro programa de instalación creado .
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
19
IEXPRESS Otro programa que podemos
utilizar es Iexpress, viene integrado con Windows.
Tan solo debemos ir a Inicio > ejecutar y escribir iexpress o si estamos en Windows Vista o Windows 7, Inicio > y en el cuadro de búsqueda escribimos iexpress
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
20
IEXPRESS El programa nos permite generar
un nuevo instalador o editar alguno que ya tengamos creado.
En nuestro caso, creamos uno nuevo.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
21
IEXPRESS En el primer paso, podemos
indicar si queremos que nuestro fichero de instalación extraiga los ficheros, o extraiga los ficheors y además ejecute una línea de comando o si queremos crear un fichero comprimido de ActiveX.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
22
IEXPRESS Seguidamente nos pide insertar
el título de nuestro programa.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
23
IEXPRESS Nos permite configurar si
deseamos que el usuario acepte previamente que va a instalar el programa, o lo cancele.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
24
IEXPRESS Una vez elegido lo anterior, este
programa nos da la posibilidad de mostrar un texto de licencia (que hayamos generado en un fichero .txt anteriormente) o no mostrar mensaje de aceptación de términos y condiciones.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
25
IEXPRESS
El siguiente paso es insertar los ficheros que van a extraerse cuando se realice la instalación del programa.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
26
IEXPRESS
Aquí podemos añadir un fichero .inf con la información necesaria para que se instale nuestro programa.
Requerimientos del programa, etc.
Tenéis un tutorial un con un ejemplo en el siguiente enlace: http://home.wanadoo.nl/kixtart/download/IExpress.pdf
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
27
IEXPRESS
Ejemplo de un .inf.; This is a sample INF file to use with the IExpress Wizard. ; Copy this file and save it with the name Odk.inf. [Version] Signature="$Chicago$" AdvancedINF=2.0 [DefaultInstall] CopyFiles=install.files RunPostSetupCommands=RunPostSetupCommandsSection [DestinationDirs] install.files=30,IDKTemp [install.files]
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
28
; List the files that need to be copied to the local hard disk drive. ; This should be the same list of files that are added in the ; "Packaged Files" section of the IExpress Wizard, described in; Step 4 below. Program1.Exe ; example program #1 Program2.Exe ; example program #2 Program3.Exe ; example program #3 Odk.inf [RunPostSetupCommandsSection] ; List the programs you want to run and the order in which ; you want them to be executed. ; Include any command-line switches or parameters that are necessary. Program1.Exe Program2.Exe Program3.Exe /argument1 /argument2 [SourceDisksNames] 1="default",,1
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
29
IEXPRESS
El siguiente paso es seleccionar la medida de nuestro programa de instalación
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
30
IEXPRESS
Podemos incluir un mensaje de finalización que tengamos en algún fichero si lo deseamos.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
31
IEXPRESS
Elegimos el nombre de nuestro package y el path donde queremos que se instale por defecto.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
32
IEXPRESS
Seleccionamos si queremos que nuestro programa reinicie nuestro ordenador al finalizar, o no.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
33
IEXPRESS
Creamos el instalable y ya lo tenemos.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
35
NSIS El Nullsoft Scriptable Install System se encuentra como proyecto en
http://sourceforge.net/projects/nsis Ficheros de Script de NSIS Para crear un instalador primero debemos escribir un script NSIS. Un script
NSIS no es más que un fichero de texto plano con una sintaxis especial.
Los scripts NSIS son scripts de tipo batch (por lotes) en los que cada línea es tratada como un comando. Si nuestra línea es demasiado larga podemos usar el bach-slash ' \ ' al final de la línea para continuar. El compilador tratará la siguiente línea como continuación de la anterior, como por ejemplo:
MessageBox MB_YESNO|MB_ICONQUESTION \ "¿Quiere borrar todos los ficheros de este directorio? \ (Si creó algo que quiera mantener, click No IDNO NoRemoveLabel
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
36
NSIS - Lenguaje de Script La extensión por defecto de los scripts es .nsi. También existen ficheros header
( al estilo de los .h de C/C++) que tienen la extensión .nsh.
Un script NSIS puede contener atributos del instalador, páginas, secciones y funciones.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
37
NSIS - Lenguaje de Script Atributos del Instalador: Los atributos del instalador determinan el
comportamiento y el look and fell de nuestro instalador. Con estos atributos podemos cambiar los mensajes que se mostrarán durante la instalación.
Por ejemplo Name es el atributo correspondiente al nombre de nuestra aplicación, InstallDir será el directorio elegido para instalar la aplicación etc.
Páginas: Un instalador puede mostrar diferentes páginas al usuario, como por ejemplo la página bienvenida, la de aceptación de licencia , la de selección del directorio de instalación etc..:
Page licensePage componentsPage directoryPage instfilesUninstPage uninstConfirmUninstPage instfiles
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
38
NSIS - Lenguaje de Script PáginasEn caso de usar el UI moderno al incluir: !include "MUI.nsh" usaremos sus macros: ;Mostramos la página de bienvenida!insertmacro MUI_PAGE_WELCOME;Página donde mostramos el contrato de licencia!insertmacro MUI_PAGE_LICENSE "licencia.txt";página donde se muestran las distintas secciones definidas!insertmacro MUI_PAGE_COMPONENTS;página donde se selecciona el directorio donde instalar nuestra aplicacion!insertmacro MUI_PAGE_DIRECTORY;página de instalación de ficheros!insertmacro MUI_PAGE_INSTFILES;página final!insertmacro MUI_PAGE_FINISH
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
39
NSIS - Lenguaje de Script Secciones:
En un instalador pueden hacerse categorías de instalación. Y así separar la instalación en varios componentes, dando a elegir al usuario cuales instalar y cuales no.
Section "My Program" SetOutPath $INSTDIR File "My Program.exe" File "Readme.txt"SectionEnd
Dentro de cada sección usamos instrucciones que son ejecutadas en tiempo de ejecución. Estas instrucciones, leen y escriben en el registro, crean, borran y copian ficheros y directorios, crean accesos directos etc.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
40
NSIS - Lenguaje de Script Los desinstaladotes también pueden tener varias secciones teniendo como
prefijo "un.":
Section "Installer Section"SectionEnd
Section "un.Uninstaller Section"SectionEnd
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
41
NSIS - Lenguaje de Script Funciones
Las Funciones contienen código semejante a las secciones , pero se diferencian de éstas en el modo en que se llaman. Hay dos tipos de funciones, las definidas por el usuario, que se llaman con la instrucción Call y las que se activan cuando ocurren determinados eventos en la instalación:
Function .onInit MessageBox MB_YESNO "Esto instalará mi programa ¿Quiere continuar?" IDYES gogogo Abort gogogo:FunctionEnd
Abort es una función especial que hace que el instalador termine inmediatamente.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
42
NSIS - Lenguaje de Script Variables:
En este lenguaje se declaran las variables mediante Var :
Var BLA ;Declaramos la variableSection bla
StrCpy $BLA "123" ;Ahora la variable BLA vale "123"SectionEnd
Estos son a grandes rasgos los componentes del lenguaje de script de NSIS, con el paquete se incluye un completo sistema de ayuda acerca del lenguaje, así como diferentes ejemplos:
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
43
NSIS - Nuestro Ejemplo de Instalador Basándonos en las especificaciones del lenguaje de script y en algunos
ejemplos hemos construido nuestro propio instalador personalizado.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Ejemplo de instalador NSIS ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Para usar el estilo moderno de instalador incluimos el siguiente header:;-------------------------------- ;Include Modern UI !include "MUI.nsh"
En este header se definen distintas macros que usaremos más adelante. Dentro de nuestro script podemos especificar el algoritmo de compresión que
queremos utilizar, este valor puede ser cambiado desde el compilador.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
44
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
45
NSIS - Nuestro Ejemplo de Instalador A continuación mostramos las distintas páginas de que constará nuestro
instalador, al estar usando el nuevo estilo de instalador usamos unas macros especiales:
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
46
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
47
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
48
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
49
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
50
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
51
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
52
NSIS - Nuestro Ejemplo de Instalador Una vez tenemos
nuestro script hecho, el siguiente paso es compilarlo. Para ello debemos tener nuestro fichero .nsi en el lugar dond tenemos nuestro programa.
Abrirmos NSIS , ejecutamos File > Load Script y compilamos el script.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
53
NSIS - Nuestro Ejemplo de Instalador Si todo ha salido bien,
obtendremos un mensaje similar al obtenido en esta imagen.
Muestra el tamaño final indicando que todo ha ido bien.
Si tuvieramos nuestro script mal hecho, daría un mensaje de error y nos indicaría en qué línea tenemos el fallo.
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
54
NSIS - Nuestro Ejemplo de Instalador Clickando en “Test Install” podemos ver el resultado de nuestro instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
55
NSIS - Nuestro Ejemplo de Instalador
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
56
NSIS - Ide Gráfico NSIS cuenta con un IDE gráfico para crear estos scripts que se puede descargar del
siguiente enlace: http://nsis.sourceforge.net/NSIS_Dialog_Designer
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
57
BitNami – Instalador de aplicaciones web Para poder realizar instaladores de aplicaciones web, la herramienta más utilizada
hoy en día es BitNami. Es utilizada en CMS como Joomla, Wordpress, la plataforma Liferay…. Entro otros
muchos importantes.
http://bitnami.org/stacks
Jose Alberto Benítez Andrades– [email protected] - @jabenitez88
58
HERRAMIENTAS PARA CREAR PAQUETES INSTALABLES DE
NUESTROS PROGRAMAS
Jose Alberto Benítez Andrades– [email protected] - @indiproweb