Cita:
Empezado por dec
Hola,
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' );
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
|
Hola.
Mil gracias por responder.
He compilado el código, sin embargo me sale el siguiente error:
Line 82,
column 3,
Uknown identifier: 'Result'
¿Quizás podría modificar el código así?:
Código Delphi
[-]
var
MyAppPath: string;
begin
Log( 'InitializeSetup' );
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;
else
Result := true;
end
¿o así?:
Código Delphi
[-]
var
MyAppPath: string;
begin
Log( 'InitializeSetup' );
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
begin
else
Result := true;
end
end
Mil gracias para todo el que conteste.
Un saludo.