我正在尝试为普通安装和便携式安装创建单个安装程序。对于便携式安装,我将禁用所有图标和卸载程序的创建。
我唯一遇到的问题是在运行便携式安装时如何禁用程序组页面。我在这里误会什么吗?
[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
有效值:auto
,yes
或no
与Uninstallable
相反:
[设置]:不可安装
有效值:yes
或no
或布尔表达式
您可以改用ShouldSkipPage
event function:
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := False;
if PageID = wpSelectProgramGroup then
begin
Result := IsPortable;
end;
end;