Подготовка к удалению, как Подготовка к установке - Inno Setup - PullRequest
2 голосов
/ 12 марта 2019

Мне нужно проверить, работают ли несколько файлов .exe или нет (которые установлены программой установки), а затем предложить пользователю закрыть их, если они запущены, и если нет, отменить процесс удаления.

Есть ли какой-нибудь способ подготовить страницу установки для удаления из системы?

enter image description here

Или как я могу осуществить такую ​​проверку? Даже окно сообщения было бы идеально.

1 Ответ

1 голос
/ 12 марта 2019

Если это ваше приложение, заставьте его создать мьютекс.Тогда вы можете использовать директиву AppMutex , которая работает даже для деинсталлятора.

[Setup]
AppMutex=MyProgMutex

enter image description here


Если выне можете изменить приложение, вам необходимо закодировать проверку запуска приложения в Inno Setup.Например, вы можете использовать функцию IsAppRunning из ответа @RRUZ на Как проверить с помощью Inno Setup, запущен ли процесс на 64-битной Windows 2008 R2? в InitializeUninstall функции события.

function InitializeUninstall(): Boolean;
begin
  while IsAppRunning('MyProg.exe') do
  begin
    if MsgBox('My Program is running, please close it', mbError, MB_OKCANCEL) = IDCANCEL then
    begin
      Result := False
      Exit;
    end;
  end;
  Result := True;
end;

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...