7.distribucion de aplicaciones

58
Desarrollo de interfaces: 7. DISTRIBUCIÓN DE APLICACIONES Jose Alberto Benítez Andrades [email protected] www.indipro.es @indiproweb @jabenitez88 1 Jose Alberto Benítez Andrades– [email protected] - @indiproweb

Upload: jose-benitez-andrades

Post on 18-Dec-2014

1.051 views

Category:

Technology


0 download

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

Page 1: 7.distribucion de aplicaciones

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

Page 2: 7.distribucion de aplicaciones

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

Page 3: 7.distribucion de aplicaciones

3

HERRAMIENTAS PARA CREAR PAQUETES INSTALABLES DE

NUESTROS PROGRAMAS

Jose Alberto Benítez Andrades– [email protected] - @indiproweb

Page 4: 7.distribucion de aplicaciones

4

INSTALLSIMPLE

http://www.rnlogic.com/Software/InstallSimple.htm

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 5: 7.distribucion de aplicaciones

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

Page 6: 7.distribucion de aplicaciones

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

Page 7: 7.distribucion de aplicaciones

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

Page 8: 7.distribucion de aplicaciones

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

Page 9: 7.distribucion de aplicaciones

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

Page 10: 7.distribucion de aplicaciones

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

Page 11: 7.distribucion de aplicaciones

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

Page 12: 7.distribucion de aplicaciones

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

Page 13: 7.distribucion de aplicaciones

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

Page 14: 7.distribucion de aplicaciones

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

Page 15: 7.distribucion de aplicaciones

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

Page 16: 7.distribucion de aplicaciones

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

Page 17: 7.distribucion de aplicaciones

17

INSTALLSIMPLE Y al clickar en Build ya

tendremos nuestro programa de instalación creado .

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 18: 7.distribucion de aplicaciones

18

INSTALLSIMPLE

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 19: 7.distribucion de aplicaciones

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

Page 20: 7.distribucion de aplicaciones

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

Page 21: 7.distribucion de aplicaciones

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

Page 22: 7.distribucion de aplicaciones

22

IEXPRESS Seguidamente nos pide insertar

el título de nuestro programa.

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 23: 7.distribucion de aplicaciones

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

Page 24: 7.distribucion de aplicaciones

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

Page 25: 7.distribucion de aplicaciones

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

Page 26: 7.distribucion de aplicaciones

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

Page 27: 7.distribucion de aplicaciones

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

Page 28: 7.distribucion de aplicaciones

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

Page 29: 7.distribucion de aplicaciones

29

IEXPRESS

El siguiente paso es seleccionar la medida de nuestro programa de instalación

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 30: 7.distribucion de aplicaciones

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

Page 31: 7.distribucion de aplicaciones

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

Page 32: 7.distribucion de aplicaciones

32

IEXPRESS

Seleccionamos si queremos que nuestro programa reinicie nuestro ordenador al finalizar, o no.

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 33: 7.distribucion de aplicaciones

33

IEXPRESS

Creamos el instalable y ya lo tenemos.

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 34: 7.distribucion de aplicaciones

34

IEXPRESS

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 35: 7.distribucion de aplicaciones

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

Page 36: 7.distribucion de aplicaciones

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

Page 37: 7.distribucion de aplicaciones

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

Page 38: 7.distribucion de aplicaciones

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

Page 39: 7.distribucion de aplicaciones

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

Page 40: 7.distribucion de aplicaciones

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

Page 41: 7.distribucion de aplicaciones

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

Page 42: 7.distribucion de aplicaciones

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

Page 43: 7.distribucion de aplicaciones

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

Page 44: 7.distribucion de aplicaciones

44

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 45: 7.distribucion de aplicaciones

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

Page 46: 7.distribucion de aplicaciones

46

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 47: 7.distribucion de aplicaciones

47

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 48: 7.distribucion de aplicaciones

48

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 49: 7.distribucion de aplicaciones

49

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 50: 7.distribucion de aplicaciones

50

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 51: 7.distribucion de aplicaciones

51

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 52: 7.distribucion de aplicaciones

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

Page 53: 7.distribucion de aplicaciones

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

Page 54: 7.distribucion de aplicaciones

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

Page 55: 7.distribucion de aplicaciones

55

NSIS - Nuestro Ejemplo de Instalador

Jose Alberto Benítez Andrades– [email protected] - @jabenitez88

Page 56: 7.distribucion de aplicaciones

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

Page 57: 7.distribucion de aplicaciones

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

Page 58: 7.distribucion de aplicaciones

58

HERRAMIENTAS PARA CREAR PAQUETES INSTALABLES DE

NUESTROS PROGRAMAS

Jose Alberto Benítez Andrades– [email protected] - @indiproweb