DisableProgramGroupPage

DisableProgramGroupPage

我正在尝试为普通安装和便携式安装创建单个安装程序。对于便携式安装,我将禁用所有图标和卸载程序的创建。

我唯一遇到的问题是在运行便携式安装时如何禁用程序组页面。我在这里误会什么吗?

[Setup]
;This works as expected
Uninstallable=not IsPortable()
;This does NOT work, can't compile (DisableProgramGroupPage=yes alone compiles fine)
DisableProgramGroupPage=yes IsPortable()


编译失败并显示错误


[Setup]节指令的值...无效。


这是IsPortable()函数:

function IsPortable(): Boolean;
begin
  if(StandardRadioButton.Checked = True) then
  Result := False
  else
  Result := True;
end;

最佳答案

(详细介绍@TLama的评论)

DisableProgramGroupPage不支持“布尔表达式”:


[设置]:DisableProgramGroupPage
有效值:autoyesno


Uninstallable相反:


[设置]:不可安装
有效值:yesno或布尔表达式




您可以改用ShouldSkipPage event function

function ShouldSkipPage(PageID: Integer): Boolean;
begin
  Result := False;

  if PageID = wpSelectProgramGroup then
  begin
    Result := IsPortable;
  end;
end;

08-18 14:58