仅允许一个Inno Setup实例,而不提示

时间:2019-02-27 12:29:10

标签: inno-setup

我只需要允许一个Inno Setup实例。我使用了SetupMutex,但是当我运行第二个设置时,它将提示用户。我需要安装程序不执行任何操作,如果另一个实例正在运行,请关闭而不显示任何提示。

1 个答案:

答案 0 :(得分:1)

我认为您尝试做的并不是改善用户体验,相反,反正...


删除您的SetupMutex directive并改用以下代码:

[Code]

const
  SetupMutexName = 'MyProgSetup';

function InitializeSetup(): Boolean;
begin
  Result := True;
  if CheckForMutexes(SetupMutexName) then
  begin
    Log('Mutex exists, setup is running already, silently aborting');
    Result := False;
  end
    else
  begin
    Log('Creating mutex');
    CreateMutex(SetupMutexName);
  end;
end;

CheckForMutexesCreateMutex之间的竞态条件几率很小)