我正在使用Inno Setup创建安装程序。我使用函数GetSpaceOnDisk
计算了可用磁盘空间。如果可用磁盘空间不足,我显示错误消息,然后安装程序将无法继续。
但在显示错误消息之前,Inno Setup磁盘空间警告显示为是/否选项。如何禁用此警告?
答案 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;
最终解决方案是重新实施选择目标位置页面。这并不困难。它只有一个编辑框和一个按钮。