Inno Setup - Използване на {app} в предпроцесора

Искам ISPP да провери дали файл/папка съществува в {app} по време на InitializeUninstall. Това възможно ли е?


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


Отговори (1)


Това няма смисъл. Препроцесорът се изпълнява, когато създавате настройката. Не и при инсталиране/деинсталиране.


Но, разбира се, можете да използвате константите в Pascal Script, като използвате 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 от код на Pascal. - person Martin Prikryl; 09.03.2016