如何在NSIS中实现风味(最小,标准,完整)和复选框选项?

时间:2019-02-15 13:41:31

标签: installer nsis

我在NSIS(Nullsoft可编写脚本的安装系统)的Section配置中苦苦挣扎。

我想实现安装选项,如以下模型所示:

Install Flavour Screen

下拉列表包含以下元素:

  • 最小(仅选择MyApp Core组件)
  • 标准(选择了MyApp核心组件,功能A / B / C和功能的必需组件)
  • 完成(所有内容均已选中),并且
  • 自定义(不可选择,但在修改原子选项时显示)。

“ MyApp核心组件”是必需的组件,由于只有一个部分具有必需的选项,因此我已经实现了它。

但是,如何设置其他部分(功能A / B / C和子部分)?当父节被停用时,如何自动取消选择子节(可能有多个)? 一般如何缩进某个部分(如屏幕截图所示)? 以及如何通过自动选择(覆盖)实现下拉列表,另一方面,当用户手动更改功能时,如何将下拉列表更改为“自定义”?

1 个答案:

答案 0 :(得分:0)

要创建树形布局,您需要使用SectionGroup。使用SectionInSection绑定到特定的InstType

Page Components
Page InstFiles

InstType "Full"
!define IT_FULL 1
InstType "Minimal"
!define IT_MINIMAL 2


Section "Required stuff"
    SectionIn RO
SectionEnd

SectionGroup /e "G1"
    Section "G1:A"
        SectionIn ${IT_FULL} ${IT_MINIMAL}
    SectionEnd
    Section "G1:B"
        SectionIn ${IT_FULL}
    SectionEnd
SectionGroupEnd

Section "a section"
    SectionIn ${IT_FULL} ${IT_MINIMAL}
SectionEnd

Section "another section"
    SectionIn ${IT_FULL}
SectionEnd