在提取文件之前检查条件

时间:2015-07-26 22:02:18

标签: inno-setup

我想在开始提取之前检查是否有某个文件,因为如果有文件安装必须停止。有可能吗?

1 个答案:

答案 0 :(得分:2)

我刚刚找到了一条路;我已经使用了CurStepChanged事件方法并在那里等待CurStep=ssInstall,这表明安装过程即将开始。那时我检查文件是否存在,如果是,我终止设置过程:

[Code]
procedure ExitProcess(uExitCode: UINT);
  external 'ExitProcess@kernel32.dll stdcall';

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
  begin
    if FileExists(ExpandConstant('{app}\.versionC204v1')) then
    begin
      MsgBox('A patched version detected. Setup will now exit.', mbInformation, MB_OK);
      ExitProcess(0);
    end;
  end;
end;