Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Comprobar programa instalado, con inno setup (https://www.clubdelphi.com/foros/showthread.php?t=61361)

lina maria 05-11-2008 00:39:04

Comprobar programa instalado, con inno setup
 
hola compañeros, quisiera pedir su colaboracion una vez mas, el problema que tengo es que cree el instalador de mi aplicacion con inno setup y ademas de instalar mi aplicacion instalo tambien firebird y otro programa que utilizo en mi herramienta. Lo que necesito es que en el momento de instalar mi herramienta se verifique si el programa anexo que se instala ya esta instalado en el equipo y que de ser asi, o se detenga la instalacion o se pregunte al usuario si desea reinstalarlo. Eh buscado todos los foros relacionados con inno setup pero eh encontrado infomacion acerca de como instalar nuevas versiones sobre una version existente que no es mi caso agradezco su colabocion.

egostar 05-11-2008 00:45:59

Cita:

Empezado por lina maria (Mensaje 324202)
hola compañeros, quisiera pedir su colaboracion una vez mas, el problema que tengo es que cree el instalador de mi aplicacion con inno setup y ademas de instalar mi aplicacion instalo tambien firebird y otro programa que utilizo en mi herramienta. Lo que necesito es que en el momento de instalar mi herramienta se verifique si el programa anexo que se instala ya esta instalado en el equipo y que de ser asi, o se detenga la instalacion o se pregunte al usuario si desea reinstalarlo. Eh buscado todos los foros relacionados con inno setup pero eh encontrado infomacion acerca de como instalar nuevas versiones sobre una version existente que no es mi caso agradezco su colabocion.

Hola Lina Maria

puedes usar el parámetro onlyifdoesntexist

Código Delphi [-]
[Files]
Source: "C:\Desarrollo\TDelphi\STarw32\Progs\Menu.exe"; DestDir: {app}; Flags: ignoreversion
Source: "C:\Desarrollo\TDelphi\STarw32\Progs\*.rav"; DestDir: {app}; Flags: ignoreversion
Source: "C:\Desarrollo\TDelphi\Installers\Firebird Client\GDS32.DLL"; DestDir: "{sys}"; Flags: onlyifdoesntexist uninsneveruninstall
Source: "C:\Desarrollo\TDelphi\Installers\Firebird Client\msvcr71.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist uninsneveruninstall

Salud OS

Edito: Perdon lo que quieres es verificar la version, :(

dec 05-11-2008 00:52:32

Hola,

Como sabes, en los "scripts" de Inno Setup existe una sección de nombre "CODE", en que podemos usar código fuente de cierta versión de Object Pascal para las instalaciones y desinstalaciones que podemos llevar a cabo con Inno Setup. Existen una serie de funciones "predeterminadas" que podemos usar, y una de ellas es "InitializeSetup()".

Código:


[code]

function InitializeSetup(): boolean;
begin
  Result := RequiredProgramIsInstalled(); 
end;

Como ves, la función "InitializeSetup()" retornará un valor "booleano", "True" o "False", de modo que se continúe con la instalación o se cancele, respectivamente. Ahora lo que tienes que ver es cómo implementar la función "RequiredProgramIsInstalled()". Ahí ya me temo que no te puedo ayudar.

Tal vez será cuestión de averiguar que existe un determinado archivo o directorio, o bien una clave en el Registro de Windows, en definitiva, has de ver cómo lo haces, empero, al menos ya sabes que cuentas con la función "InitializeSetup()", que puedes usar, entre otras cosas, para tratar de localizar el programa que necesitas.

Es posible que también te interese revisar otras funciones de Inno Setup para el apartado "CODE". En la ayuda están todas ellas, e igual alguna se adapta mejor todavía a la que yo he referido aquí.

lina maria 05-11-2008 01:23:13

hola muchas gracias por su colaboracion, voy a probar lo que me dicen y les comento. Y quiero aclarar por que a veces me enredo mucho preguntando, que no quiero verificar la version, del programa que instalo con mi aplicacion solo existe una version, pero resulta que cuando instalo el programa en un pc donde ya esta instalado corro el riesgo de que algunos de los archivos creados con el programa se sobreescriban y el usuario pierda informacion. Una vez mas gracias por su ayuda y la rapidez en la respuesta.

egostar 05-11-2008 01:32:05

Cita:

Empezado por lina maria (Mensaje 324209)
hola muchas gracias por su colaboracion, voy a probar lo que me dicen y les comento. Y quiero aclarar por que a veces me enredo mucho preguntando, que no quiero verificar la version, del programa que instalo con mi aplicacion solo existe una version, pero resulta que cuando instalo el programa en un pc donde ya esta instalado corro el riesgo de que algunos de los archivos creados con el programa se sobreescriban y el usuario pierda informacion. Una vez mas gracias por su ayuda y la rapidez en la respuesta.

Hola

Entonces si debes usar el parámetro que te menciono (onlyifdoesntexist), si existe no lo sobreescribe.

Salud OS


La franja horaria es GMT +2. Ahora son las 20:23:45.

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