NSISインストーラーのセクションを条件付きで非表示にするラジオバットンの選択

StackOverflow https://stackoverflow.com/questions/5842127

  •  27-10-2019
  •  | 
  •  

質問

MUI NSISインストーラーコンポーネントページのダイアログで、RadioButtonsのチェックまたはチェックでセクションを条件付きで非表示にするにはどうすればよいですか。

デモとバックアップの2つのRadioButtonsを追加しました。

ユーザーが選択すると、Demo RadioButton、表示されたセクションは「データのインストールかどうか」になり、ユーザーがチェックまたはチェックしてください。「バックアップデータかどうか」セクションが非表示になります。

ユーザーが選択すると、バックアップRadioButton、表示されたセクションは「バックアップデータかどうか」になり、ユーザーがチェックまたはチェックしてから解除でき、「データのインストール」セクションが非表示になります。

- サインを使用する場合、「データをインストールするかどうか」というセクションは、ラジオボタンの選択、つまりデモも更新するために隠されています。助けてください。

また、selectsectionまたはunselectsectionの機能がありますが、セクションを非表示にしてチェックする必要があるというセクションを非表示にしません。

役に立ちましたか?

解決

隠されたセクションには名前がないので、再び見えるようにするために名前を付ける必要があります。

!include Logiclib.nsh
!include Sections.nsh

page Components InitComponentsPage

!define INSTALLSECTIONNAME "Install"
section "" SEC_INSTALL
sectionend

!define BACKUPSECTIONNAME "Backup"
section "" SEC_BACKUP
sectionend

Function InitComponentsPage
${If} $InstallType == BACKUP
    SectionSetText ${SEC_BACKUP} "${BACKUPSECTIONNAME}"
    !insertmacro UnSelectSection ${SEC_INSTALL}
    SectionSetText ${SEC_INSTALL} ""
${Else}
    SectionSetText ${SEC_INSTALL} "${INSTALLSECTIONNAME}"
    !insertmacro UnSelectSection ${SEC_BACKUP}
    SectionSetText ${SEC_BACKUP} ""
${EndIf}
Functionend
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top