4

MUI NSISインストーラーの[コンポーネントページ]ダイアログでラジオボタンをオンまたはオフにしたときに、セクションを条件付きで非表示にするにはどうすればよいですか。

2つのラジオボタン、デモとバックアップを追加しました。

ユーザーがDEMORadioButtonを選択すると、表示されるセクションは「INSTALL DATA OR NOT」になり、ユーザーがチェックまたはチェックを外すことができ、「BACKUPDATAORNOT」セクションは非表示になります。

ユーザーが「BACKUPRadioButton」を選択すると、表示されるセクションは「BACKUP DATA OR NOT」になり、ユーザーがチェックまたはチェックを外すことができ、「INSTALLDATAORNOT」セクションは非表示になります。

--SIGNを使用すると、「データのインストールかどうか」のセクションが両方のラジオボタンの選択肢で非表示になります。つまり、デモとアップデートの両方でサポートしてください。

また、SelectSectionまたはUnSelectSectionの機能がありますが、それらはセクションを非表示にしません。これは、セクションを非表示にしてチェックを外す必要があるためです。

4

1 に答える 1

6

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

!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
于 2011-04-30T16:48:52.060 に答える