是否可以在尝试安装程序之前检查程序是否已在运行? (创新设置)

时间:2020-03-04 13:12:44

标签: inno-setup

我正在使用Inno Setup创建安装程序。启动创建的安装程序时,我需要检查要安装的程序是否已在运行,如果正在运行,则必须显示相应的消息,直到关闭或退出。 可以这样做吗?

1 个答案:

答案 0 :(得分:2)

如果它是您的应用程序,请使其创建一个互斥体。然后,您可以使用AppMutex directive

[Setup]
AppMutex=MyProgMutex

enter image description here


如果无法修改应用程序,则需要在Inno Setup中编写对正在运行的应用程序的检查的代码。例如,您可以使用IsAppRunning函数,从@RRUZ到How to check with Inno Setup, if a process is running at a Windows 2008 R2 64bit?中的InitializeSetup event function

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

基于有关卸载程序的类似问题:
Preparing to Uninstall like Preparing to Install Page - Inno Setup

相关问题