Top Banner
20

Inno Setup - Tutorial Avanzado

Oct 28, 2015

Download

Documents

Felipe Moreno
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Inno Setup - Tutorial Avanzado
Page 2: Inno Setup - Tutorial Avanzado

VOY A HACER UN TUTORIAL, HACIENDO EL REPACK DE FIFA 12AL ABRIR EL PROGRAMA, NOS SALDRA LA PANTALLA DE BIENVENIDO… SI VAMOS A

EMPEZAR A CREAR UNO NUEVO, LE DAMOS EN LA OPCION “Create a new script file using theScript Wizard”, YA QUE ESTA PERMITE CREAR LA INSTALACIÓN DE UNA FORMA GUIADA,

POR ASI DECIRLO

LE DAMOS EN NEXT, PARA LA PROXIMA PANTALLA

Page 3: Inno Setup - Tutorial Avanzado

EN ESTA PANTALLA SE PERSONALIZA LA INFORMACIÓN DEL INSTALADOR

AQUÍ PODEMOS MODIFICAR LA UBICACIÓN DEL INSTALACIÓN DEL PROGRAMA

Page 4: Inno Setup - Tutorial Avanzado

EN ESTE PASO SE AÑADIRÁN LA APLICACIÓN DE EJECUCIÓN DEL JUEGO (Archivo .EXEPrincipal) Y LAS CARPETAS DEL JUEGO (Carpeta Raíz)

La Ubicación de la Carpeta es E:\FIFA 12Y Contiene

COMO SE PUEDE APRECIAR EN LA SIG., IMAGEN, AÑADI EL EXE DEL FIFA En El ArchivoEjecutable de Menu (Main executable file) y ABAJO LA CARPETA PRINCIPAL DEL JUEGO.

AÑADIR LA OTRA CARPETA LLAMADA redist ES OPCIONAL, YO LO HAGO YA QUE MASADELANTE LA NECESITARE PARA QUE SE EJECUTEN LOS INSTALADORES DE COMPONENTES

COMO DirectX, VC Redist, u OTROS; SI ES NECESARIO AÑADIR LA OTRA CARPETA O LACARPETA RAÍZ, YA QUE SOLO CON ESTA SE INTEGRARAN TODOS LOS ARCHIVOS QUE SE

NECESITAN PARA LA INSTALACIÓN Y PARA EL JUEGO.

Page 5: Inno Setup - Tutorial Avanzado

ESTA OPCIÓN CREARA LOS ACCESOS DIRECTOS

ESTA PANTALLA PERMITE AÑADIRINFORMACIÓN DE LICENCIA O TEXTOS (Formato RFT o TXT)

Page 6: Inno Setup - Tutorial Avanzado

AQUÍ SE SELECCIONAN LOS LENGUAJES DE INSTALADOR

EN ESTA PANTALLA PERSONALIZAREMOS, EL LUGAR DE COMPILACIÓN DEL INSTALADOR,EL NOMBRE DE LOS ARCHIVOS GENERADOS POR EL INSTALADOR Y EL ICONO DEL

ARCHIVO DEL INSTALADOR GENERADO, Y SE PUEDE AÑADIR UNA CONTRASEÑA (No lorecomiendo)

Page 7: Inno Setup - Tutorial Avanzado

EN ESTA PANTALLA PREGUNTA QUE SI DESEA UTILIZAR TODO LO QUE REALIZAMOS COMOSCRIPT [ISSI], NO LO NECESITAMOS ASI, SINO COMO [SETUP], DESELECCIONAMOS (Yes) y LE

DAMOS NEXT

HA ESTA VENTANITA LE DAMOS NO PARA NO EMPEZAR A COMPILAR EL INSTALADOR, YAQUE TODAVÍA FALTAN MUCHAS COSAS QUE HACER

Page 8: Inno Setup - Tutorial Avanzado

GUARDAMOS EL ARCHIVO Y LUEGO LO ABRIMOS EL PROGRAMA InnoIDE

LE DAMOS EN LA OPCIÓN “Settings”, En esta misma ventana “Appearance”, podemos cambiarla imágenes de instalación, en normal image y small image.. La normal imagen debe tener un

tamaño de 164 x 314. Y la Small Image de 55 x 55 (Esto por Defecto)

Page 9: Inno Setup - Tutorial Avanzado

CONFIGURAMOS EL TIPO DE COMPRESIÓN DE LOS ARCHIVOS EN “Compression”DE LA MANERA QUE APARECE POR DEFECTO, ESTA BIEN, PERO SI LA QUIEREN MODIFICAR

QUEDA A SU GUSTO

ENTRAMOS EN “Disk Spannig” Y HABILITAMOS LA OPCIÓN.. EN DONDE DICE “Presents”,PUEDEN SELECCIONAR EL TAMAÑO DE LA COMPRESIÓN POR DISCO,

ELEGI EL DE DVD 4-7 GB

LUEGO LE DAMOS OK

Page 10: Inno Setup - Tutorial Avanzado

SI QUEREMOS AÑADIR UN MENSAJE EN EL INSTALADOR VAMOS A LA OPCIÓN “Messages”LE DAMOS A NUEVO Y COLOCAMOS EN MESSAGE ID “BeveledLabel” y ABAJO EL MENSAJE

“Como en la IMAGEN”

GUARDAMOS DE NUEVO EL ARCHIVO Y CERRAMOS EL PROGRAMA

Page 11: Inno Setup - Tutorial Avanzado

ABRIMOS DE NUEVO EL ARCHIVO CON INNO SETUP COMPILER.. ESTE INSTALADOR TIENEALGO PARTICULAR.. EL ARCHIVO EXE PRINCIPAL SE GUARDA EN UNA CARPETA DENTRO DE

LA CARPETA RAIZEN ESTE CASO DEBEMOS MODIFICAR ALGO DEL SCRIPT

Solo tendremos en cuenta la primera línea luego de [Files]Dice: Source: "E:\FIFA 12\Game\fifa.exe"; DestDir: "{app}"; Flags: ignoreversion

- {app} significa carpeta de destino o aplicación

Esto quiere decir que el archivo .exe se instalara en la carpeta de Destino..

Por Ejemplo: C:\Archivos de Programa\EA SPORTS\FIFA 12\, allí quedara..

Pero que pasa, ese exe no se guarda allí, sino en la carpeta C:\Archivos de Programa\EASPORTS\FIFA 12\Game

Así que lo que debemos hacer es modificar esa línea, añadiendo \Game, luego de {app}.Aplique también este caso en la tercera línea en redist.Así quedara:

MUCHOS JUEGOS NO SE LE NECESITA HACER ESTA MODIFICACIÓN, PERO ESTE SALIO ASI,ASI QUE ES IMPORTANTE QUE SEPAN POR SI ACASO.!

SI NECESITAN MAS INFORMACIÓN, LEAN LA DOCUMENTACIÓN DE INNO SETUPhttp://www.jrsoftware.org/ishelp/

Page 12: Inno Setup - Tutorial Avanzado

AHORA VOY A TRABAJAR CON LA OPCIÓN [Run]Run permite ejecutar archivos luego de haber instalado todo. Yo lo utilizo para ejecutar el Directx, VCRedist y Net Framework al final de la instalación, si se necesita otro programa se añade.

Esta opción Run es post-instalación..Como se puede ver dice “{app}\redist\origin.exe”Es decir que ese archivo se encontrara luego de la instalación enC:\Archivos de Programa\EA SPORTS\redist\Y se ejecutara luego de haber finalizado la instalación.

Page 13: Inno Setup - Tutorial Avanzado

Yo utilizo los script ISSI para colocar imágenes..!IMPORTANTE: Las imágenes deben ser BMP en tipo de Color Indexado o RGB (Es mejor indexado parahacerla más pequeña.. Eso de indexado y RGB se puede modificar fácilmente con un poco deconocimiento en Photoshop).

Los script son mejores porque se pueden cambiar el tamaño de las imágenes dentro del instalador.

Page 14: Inno Setup - Tutorial Avanzado

#define ISSI_BackgroundImage “ubicación imagen”#define ISSI_ImageWpLicense “ubicación imagen”#define ISSI_BackgroundImage_BGColor "clBlack"Estos dos sirven para colocar fondos en la imagen, el primer es un fondo general y el segundo es paraque cambie el fondo luego que aparezca la parte de la licencia, dentro del instalador y el ultimo es unfondo negro general, aunque no se ve, ya que estamos utilizando una imagen de fondo de escritorio.!

#define ISSI_WizardImageFile “ubicación imagen”#define ISSI_WizardImageFile_x 250#define ISSI_WizardImageFile_AlignLa primera opción, coloca la imagen dentro del instalador,La Segunda opción modifica el tamaño de la imagen, El máximo puede ser 495 x 314.La tercera opción alinea la imagen a la derecha, si se quita queda por defecto a la izquierda.

#define ISSI_IncludePath "C:\ISSI"#include ISSI_IncludePath+"\_issi.isi"Estas líneas son obligatorias para que los otros comando sean reconocidos..

Es importante decir que todas estas líneas van dentro de [ISSI] y lo otro que creamos anteriormente vanen [Setup] y demás como en la imagen anterior.

Page 15: Inno Setup - Tutorial Avanzado

Registro de Windows

Para aprender a trabajar con el registro de Windows dentro del INNO Setupdeben tener un poquito de conocimiento sobre esto.Es la base de datos que almacena las configuraciones y opciones del sistemaoperativo Microsoft Windows en sus versiones de 32 bits, 64 bits y WindowsMobile. Algunos lo definen como una base de datos jerárquica, pero estadefinición no es muy exacta.

Mas Info en:http://es.wikipedia.org/wiki/Registro_de_Windowshttp://www.jrsoftware.org/ishelp/

Para acceder al registro de Windows vasta con ir a Inicio y Ejecutar y ColocaRegedit(Tecla Windows + R y Escribe ejecutar)Deben Tener muy claro la información y la ubicación de los registro a crear.

La mayoría de los registro de los juegos se guardan en la ubicación[HKEY_LOCAL_MACHINE\SOFTWARE]

Voy a trabajar con el Battlefield 3

Como se ve en la Imagen, los registros de este juego se guardan en:[HKEY_LOCAL_MACHINE\SOFTWARE\EA GAMES\Battlefield 3]Trabajar en los registros es como trabajar con las carpetas de Windows

Page 16: Inno Setup - Tutorial Avanzado
Page 17: Inno Setup - Tutorial Avanzado

Ya que conseguimos la ubicación del Registro del Juego Ahora Vamos a Crearladentro del Inno Setup.Ver Info en :http://www.jrsoftware.org/ishelp/

Una información importante a tomar mucho en cuenta en esto es la asignaciónde:{app}: Esto significa Carpeta de Instalación, donde se va a instalar el juegoEn mi caso {app} va a SerX:\Program Files\EA GAMES\Battlefield 3X:\ es cualquier unidad.. Va a ser esa ubicación anteriormente creamos la entradade donde se va a guardar el juego posterior a la instalación

Otra información importante en cuanto a {app} es que guarda la dirección hastala última letra de la ubicación es decir, Battlefield 3, hasta el 3 guardara. Enalgunos juegos se debe terminar con una barra oblicua \, asi que se debe colocar{app}\ para colocar el carácter demás.!

Viendo mas de cerca el registro nos muestraNombre, Tipo y DatosEn el Inno Setup:ValueType es Tipo, ValueName es el nombre y ValueData es el DatoVer Info en :http://www.jrsoftware.org/ishelp/

Asi quedo mi registro dentro del inno setup

Ahora les explico (Ver Info en :http://www.jrsoftware.org/ishelp/)

En Root: Va HKLM y SubKey: SOFTWARE\EA GAMES\Battlefield 3, porqueanteriormente les dije que el juego esta ubicado en regedit en la ubicación:[HKEY_LOCAL_MACHINE\SOFTWARE\EA GAMES\Battlefield 3]

Page 18: Inno Setup - Tutorial Avanzado

Pasamos a ValeType: stringPorque van a ser string los valores. String Significa Carácter es decir REG_SZ yTodos los valores como ven son de ese tipo

Algo importantísimo en tomar en cuenta en ValueType es:If none (the default setting) is specified, Setup will create the key but not a value. In this casethe ValueName and ValueData parameters are ignored.If string is specified, Setup will create a string (REG_SZ) value.If expandsz is specified, Setup will create an expand-string (REG_EXPAND_SZ) value.If multisz is specified, Setup will create an multi-string (REG_MULTI_SZ) value.If dword is specified, Setup will create a 32-bit integer (REG_DWORD) value.If qword is specified, Setup will create a 64-bit integer (REG_QWORD) value.If binary is specified, Setup will create a binary (REG_BINARY) value.Sacado desde la página de Inno Setup

Ahora en ValueName: Colocaremos el nombre del registro a crear y en ValueData:el valor del registro

Se darán cuenta que faltaron crear algunos registro como GameExplorer yProduct GUID.. No los creo porque sus ValueData (Datos) están encerrados encorchetes {} y cuando un valor “desconocido” se encierra en corchete dentro delInnoSetup los toma como constantes desconocidas utilizadas dentro delprograma y da error en esa línea del proyecto.Esta es la forma más explicativa que pude crear..!!

Page 19: Inno Setup - Tutorial Avanzado
Page 20: Inno Setup - Tutorial Avanzado

DOCUMENTACIÓN DE INNO SETUPLes recomiendo que revisen la documentación, hay muchas otras cosas útiles allí..!!http://www.jrsoftware.org/ishelp/ - Documentación de Inno Setuphttp://members.home.nl/albartus/inno/ - Documentación de los Script ISSI

DESCARGA DEL PROGRAMAhttp://www.jrsoftware.org/is3rdparty.phphttp://www.jrsoftware.org/isdl.php

Usuario en Taringa T!:www.taringa.net/JosueLMM

*************************************Cuenta en Twitter:

@JosueLMMhttps://twitter.com/JosueLMM

@Josue_LMMhttps://twitter.com/Josue_LMM

*************************************Perfil FB:

www.facebook.com/JosueLMM

*************************************Correos Electronicos:

[email protected]@gmail.com

[email protected]