Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-08-2016
SGAN SGAN is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 2
Poder: 0
SGAN Va por buen camino
Inno setup (dudas varias)

Buenas, hace poco que estoy haciendo instaladores con Inno Setup, no sé nada de programación, o más bien poco, y de scriptar... pues lo justito

El "quote" lo podéis saltar si queréis y pasar a las preguntas (muchas gracias de antemano)

Cita:
Bien desde hace un tiempo estoy haciendo Backups de mis juegos ORIGINALES " (Si originales), y preparándome también setups de programas que necesito, de librerías y de otras cosas varias para hacer funcionar cosas en mi ordenador. Cada vez que quiero hacer funcionar algo que hace mucho tiempo que no uso, me tengo que leer apuntes de como lo hice o volver a ponerme a buscar por internet como hacerlo si no he guardado nada.

Pues bien, al meterme con el Inno Setup (que para hacer algo básico es muy sencillo y hasta a golpe de clicks puedes hacer cosas que funcionan), me ha ido entrando curiosidad, de como hacer instaladores optimizados para las cosas que pretendo en cada momento. Y me han ido surgiendo dudas que me cuesta mucho encontrar en los manuales de Inno Setup (si es que están).

A partir de ahi, he hecho un grupo de amigos cercanos de mi zona, a los que les ayudo como hacer funcionar cosas en sus ordenadores, librerías que hacen falta para hacer funcionar cosas antiguas en ordenadores modernos, cambios en el registro, emuladores si los necesitan (DosBox y sus forks, PCem, VirtualBox)

Por ejemplo, yo tengo el Virtua Fighter 2 de PC, en su cajita de carton, y no funciona correctamente en los últimos Windows que he probado (7, 8.1 y 10 con el que estoy actualmente)... al final he conseguido que funcione todo, con librerías, modificaciones, cambios en el registro, un parche que habilita el uso de D3D en lugar de DDraw, etc, funciona la música el D3D, la "imagen en la pantalla" (si ciertas modificaciones en el registro, se abre una ventana en pantalla completa, con bordes que no permite ni siquiera ver la "barra de vida", injugable, vamos)

La cuestion es que se me hace súmamente coñazo explicarle a cada uno que me va preguntando: bájate estas librerías, mételas en tal sitio, instala este programa que ejecuta tal cosa, métete en el registro y modifica tal cosa (esto ahora hago .reg's que se los haga, pero tienen que editar la ruta dentro .reg asi que no me evita explicaciones del todo)

Así que he decidido hacer instaladores que les instalen las librerías y ficheros necesarios donde haga falta, haga las modificaciones del registro pertinentes, sobreescriba ficheros en la ruta del software que que hay que hacer funcionar, etc.

La cuestion no es pasarles el software completo (el juego, en muchos casos), si no facilitarles un "parche" que les permita usarlo en SOs modernos, donde solo tengan que poner la ruta de instalación correspondiente al juego/software a "parchear". Aunque lo ideal sería poder buscar un fichero que sé que es exclusivo dde ese programa, y usar la ruta del mismo como ruta de instalación "recomendada" del parche... en algunos casos no sé que hacer, porque necesito instalarles el DosBox (o un fork del mismo), y el juego debería estar en un subdirectorio del DosBox (para que me resulte fácil lanzarlo con un .bat o un .exe creado a partir de un .bat, pero eso implica meter el juego en el instalador... tengo que pensar como localizar el juego, arrancar el dosbox y lanzar el juego con la ruta del mismo (que saber donde lo mete cada uno), o localizar el juego, hacer una copia del directorio dentro del DosBox y recomendar al usuario que borre la localización original del juego (para que no haya dos copias dle mismo). Pero claro, tengo que automatizarlo.

Dicho esto:



1-. ¿Como escribir en el registro de Windows desde Inno Setup? ?Hay forma? De momento, lo que hago es generar un .reg y ejecutarlo al final de la aplicacion. puedo hacerlo con un "batch" junto a algunos .txt (o ".loquesea", que con el batch renombro a lo que haga falta, a ".ini", por ejemplo, borrando previamente el ".ini" original que no funciona (o modificando su contenido con el ".bat"), pero para "saber las rutas", necesito que el .bat este dentro de la la carpeta principal del "software", si alguien no lo instala/copia donde "debe", no vale nada, puedo poner "readmes" explicativos de ciertas cosas que se muestren durante la instalación del Innosetup, puedo hacer que se ejecuten .bats o .regs al final, de acuerdo, pero, por un lado el InnoSetup hace unas casillas con "checks" diciendo lo que va a lanzar, y puede que alguien deshabilite algo, y no quiero que sea asi (no me importa que el .reg lance la notificacion de la modificacion del registro y haya que aceptarla)... y por otro lado quiero hacer algo más "profesional", y procurar que todo sea lo más "invisible posible" (no por "celos" o "paranoias", si no por "imagen")

2-. ¿Como predefinir una ruta de instalación como una variable que se "autorrellene" según un "requisito", por ejemplo, si creo un parche para el Virtua Fighter 2, que es el que acabo de hacer para Windows 8/8.1/10, me gustaría localizar el fichero VF2.exe, o el LAUFACE8.BIN (que deberían ser únicos, aunque no tiene porqué) y usarlo como ruta de "referencia" para la instalación del parche, ya que las modificaciones hay que hacerlas en esa ruta, si acaso, también en sus subdirectorios y en el registro (donde tengo que introducir esas rutas, y podría hacer con un .bat copiándolo dentro de ese directorio y usando su propia ruta para modificar el registro)

3-. ¿Como anular las casillas "check" al final de la instalacion de un programa/parche? En algunos casos, me interesa que se vea perfectamente que se va a ejecutar/instalar al final de la instalación del parche, y que lo puedan marcar y desmarcar (como un readme en PDF), pero en otros, aunque se vea lo que se va a ejecutar (para informar al usuario), es algo NECESARIO (como la instalación de un software de terceros... por ejemplo, en el caso del VF2, hace falta una librería y un software que desarrolló alguien -japonés- y con el audio del juego, ripeado en MP3 (que tengo que instalar también con el parche, para que funcione la música), y metiendo unas librerías y unos ficheros .ini en la carpeta del juego, se lanza automaticamente este software al arrancar el juego que se encarga de reproducir la música correspondiente en cada parte del juego.

### Ya lo he visto... "postinstall" ... voy a ver que hace si lo quito (necesito ambas cosas, que a veces no lo muestre, y otras que lo muestre pero marcada sin poder desmarca)

Este es el software: _inmm.dll (en realidad no es una librería, es un software, aunque se llame asi... el foro no me permite poner enlaces)


Esto me interesa MUCHO que se sepa que se va a instalar, primero porque el usuario tiene que ser consciente de que se va a instalar eso, y segundo porque, por ética necesito poner el link a la web del creador en el instalador junto al check del programa... Quiero que lo vean pero que si quieren instalar el parche no lo puedan "desmarcar"

4-. Hacer comprobaciones de la existencia de mi parche. Si hago una versión nueva del parche, quiero poder comprobar que existe una versión previa, porque puede que con alguno no me interese simplemente "marchacar lo que hay", puedo evitar resintalar cosas si me valen las que hay en el parche anterior, y es posible que NECESITE eliminar cosas que había hecho con el parche anterior (por ejemplo, un fichero que con una nueva modificacion no necesito que esté ahí y solo sea basura).

Para identificar la App/parche supongo que tendré que usar el AppId

En el Virtua Fighter, por ejemplo le he llamado {{VIRTFIG2-DX3D-SGAN-0001-MUSIC23CD001}. Tengo que usar ese mismo AppId para identificar la versión? (cambinado algún valor) o la versión la identifico de otra manera?

###Vale, esto ya lo he visto: #define MyAppVersion "nombre de la version"... como podría comprobar que una versión es anterior o posterio usando el propio Inno Setup?


5-. Lanzar 2 tipos de instalación (dependiendo de si existe un parche previo o no) si existe un parche previo modificar solo lo necesario (o "deshacer" y borrar todo lo anterior y reinstalar lo nuevo entero), y si no existen, lanzar ina instalación convencional.

Saludos, y gracias.
Responder Con Cita
  #2  
Antiguo 29-08-2016
rocksoft rocksoft is offline
Miembro
NULL
 
Registrado: may 2016
Posts: 71
Poder: 9
rocksoft Va por buen camino
Buenas,

viste esto: https://www.kymoto.org/products/inno-script-studio

es un adicional visual que te va a ayudar a resolver muchas de tus preguntas.
Responder Con Cita
  #3  
Antiguo 29-08-2016
SGAN SGAN is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 2
Poder: 0
SGAN Va por buen camino
La he probado, pero básicamente es lo mismo, tiene un "Wizard" para hacer varias cosas, pero se queda "corto" (normal, es para hacer algo básico)... por ejemplo no veo forma de comprobar versiones anteriores del mismo software, ni veo como crear casillas que estén marcadas sin poder desmarcarlas... es similar al Inno Script Compitel + un Wizard para instaladores básicos :\

De hecho, el compiler también tiene un Wizard... a mí me parecen lo mismo...... igual no me he fijado bien
Responder Con Cita
  #4  
Antiguo 29-08-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.264
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Se puede hacer casi todo lo que quieres, mira la ayuda, los ejemplos, etc.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
[Inno Setup] InnoExtractor, aplicación para desempaquetar instaladores de Inno Setup NucleousXE Varios 4 28-10-2014 15:12:33
Inno Setup Io Varios 6 08-08-2007 19:27:00
Algunas dudas respecto Inno Setup Isso Varios 2 18-08-2006 10:26:38
Inno Setup Ini? marceloalegre Varios 2 07-12-2005 21:49:17
Inno Setup tarco35 Varios 0 09-04-2005 17:48:01


La franja horaria es GMT +2. Ahora son las 20:05:17.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi