Ver Mensaje Individual
  #3  
Antiguo 07-12-2014
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Ñuño Martínez Ver Mensaje
Si no recuerdo mal, InnoSetup por sí sólo ya detecta si la aplicación está instalada o no. ¿O me he perdido algo?
Creo que hay alguna opción para detectar si la aplicación está ejecutándose (de manera que el instalador te sugiere cerrarla antes de seguir) pero no para saber si la aplicación está instalada. De todas formas igual sí que hay manera de saberlo, puesto que no conozco bien todas y cada una de las opciones de Inno Setup, pero son muchísimas.

Por lo demás, en el código Pascal de arriba se usa una constante de Inno Setup: "{app}", pero, no puede usarse tal como se hace, sino que es menester usar cierta función "ExpandConstant" para convertir dicha constante en su valor correspondiente. Es decir, jhabría que hacer algo similar a esto:

Código Delphi [-]

var
  MyAppPath: string;

begin
  Log( 'InitializeSetup' );
  // Default.
  //
  Result := true;

  MyAppPath := ExpandConstant('{app}');

  if FileExists(MyAppPath + 'mi_archivo.xla') then 
  begin
    MsgBox('Mi aplicación ya está instalada, la instalación se cancelará', mbCriticalError, MB_OK);
    Result := False;
    Exit;
end
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita