如何在Inno Setup中禁用磁盘空间警告消息?

时间:2016-02-08 10:47:25

标签: inno-setup

我正在使用Inno Setup创建安装程序。我使用函数GetSpaceOnDisk计算了可用磁盘空间。如果可用磁盘空间不足,我显示错误消息,然后安装程序将无法继续。

但在显示错误消息之前,Inno Setup磁盘空间警告显示为是/否选项。如何禁用此警告?

1 个答案:

答案 0 :(得分:1)

您无法禁用检查,也无法更改按钮。

您可以做的是通过使用[Messages]部分覆盖默认文本来恢复邮件中问题的含义,例如:

  

您要取消安装吗?

如果用户按,则安装程序将保留在选择目标位置页面上。如果用户按,则会调用NextButtonClick(wpSelectDir)。在那里,您重复检查磁盘空间(区分呼叫与基本方案,没有警告),如果没有足够的空间,则强行中止安装程序。

[Messages]
DiskSpaceWarning=Setup requires at least %1 KB of free space to install, but the selected drive only has %2 KB available.%n%nDo you want to cancel installation?

[Code]

function NotEnoughSpace: Boolean;
begin
  Result := { Check disk space };
end;

procedure ExitProcess(exitCode:integer);
  external 'ExitProcess@kernel32.dll stdcall';

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  if CurPageID = wpSelectDir then
  begin
    if NotEnoughSpace then
    begin
      ExitProcess(0);
    end; 
  end;
  Result := True;
end;

最终解决方案是重新实施选择目标位置页面。这并不困难。它只有一个编辑框和一个按钮。