Inno Setup — использование {app} в препроцессоре

Я хочу, чтобы ISPP проверял наличие файла/папки в {app} в течение InitializeUninstall. Это возможно?


person George Hovhannisian    schedule 09.03.2016    source источник


Ответы (1)


Это не имеет смысла. Препроцессор запускается при сборке установки. Не при установке/удалении.


Но, конечно, вы можете использовать константы в скрипте Pascal, используя функцию ExpandConstant. Чтобы проверить наличие файла, используйте функцию FileExists.

function InitializeUninstall(): Boolean;
begin
  if FileExists(ExpandConstant('{app}\MyProg.ini')) then
  begin
    Log('File exists.');
  end
    else
  begin
    Log('File does not exist.');
  end;

  Result := True;
end;

Для каталогов используйте функцию DirExists.

person Martin Prikryl    schedule 09.03.2016
comment
Ага, дело в том, что мне нужно, чтобы чек работал в разделе Messages. Обновление вопроса. - person George Hovhannisian; 09.03.2016
comment
Обновленный вопрос находится здесь: Изменить сообщения Inno Setup из кода Pascal. - person Martin Prikryl; 09.03.2016