Inno Setup:从菜单中禁用特定类型 - 类似于之前发布的组件方法

Inno Setup: Disable specific Types from menu - similar to Components method previously posted

首先我: 搜索了很多但没有找到任何似乎涵盖这一点的东西,但我可能会错过它。 (我的编码很糟糕,所以我并不总是知道要搜索的正确内容)

场景: 与单选按钮或复选框相比,我更喜欢使用 selection 的下拉列表方法。所以我通常为每个组件添加一个类型并禁用组件屏幕,这样用户就可以 select 选择合适的选项。

但是,有时我想在提供 select 或完全减少列表的能力之前检查是否满足条件。

我发现了什么: 对于我发现这个 post Hide/Disable Component at runtime 的条件,我尝试了他的方法,但我想做同样的事情,但使用类型。

下一个?: 我找不到是否有类似 WizardForm.TypesList.ItemEnabled 的东西(我知道那不是真正的电话)

是否可以在不构建完全自定义类型页面的情况下完成此操作?也能是真皮? (禁用对我也有效,隐藏更干净)

要有条件地隐藏 设置类型,请使用 Types 部分中的 Check parameter

[Types]
Name: "typeA"; Description: "A installation"
Name: "typeB"; Description: "B installation"
Name: "typeConditional"; Description: "Some other installation"; Check: CanInstallOther

[Code]

function CanInstallOther: Boolean;
begin
  Result := ...;
end;

我不认为你真的可以禁用下拉列表中的一个项目。您可以阻止用户选择它,但不能将其设为灰色或其他内容。