Как реализовать варианты (минимальные, стандартные, полные) и опции флажков с NSIS? - PullRequest
0 голосов
/ 15 февраля 2019

Я борюсь с Section конфигурацией NSIS (Nullsoft Scriptable Install System).

Я хочу реализовать параметры установки, как показано в следующем макете:

Install Flavour Screen

Раскрывающийся список содержит следующие элементы:

  • Минимальный (выбран только основные компоненты MyApp),
  • Стандартный (выбраны основные компоненты MyApp, функция A / B / C и необходимые компоненты компонента),
  • Завершено (все выбрано) и
  • Пользовательский (не выбирается, но отображается приизменение атомарных опций).

«Основные компоненты MyApp» - обязательный компонент, и я уже реализовал его, поскольку есть обязательная опция только для одного раздела.

Однако,как настроить другой раздел (функция A / B / C и подразделы)?Как автоматически отменить выбор подразделов (может быть больше одного), когда родительский раздел становится деактивированным?Как сделать отступ для раздела в целом (как на скриншоте)?А как реализовать выпадающий список с автоматическим выбором (переопределением), а с другой стороны изменить раскрывающийся список на «Пользовательский», когда пользователь меняет функции вручную?

1 Ответ

0 голосов
/ 15 февраля 2019

Для создания макета дерева необходимо использовать SectionGroup.Используйте SectionIn, чтобы связать Section с конкретным 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
...