Открыть пользовательскую страницу из раздела? - PullRequest
0 голосов
/ 15 февраля 2012

Я собираю свой первый скрипт установщика NSIS, и у меня возникли некоторые проблемы.

Я использую Modern UI и предоставил упрощенный скрипт ниже:

!insertmacro MUI_PAGE_COMPONENTS
Page custom CustomPage

Section "Tomcat" SEC01  
;stuff in here to install Tomcat from bundled installer  
SectionEnd

Section "Deploy WARS" SEC02  
;Fire a separate custom page so that I can use nsDialog to get
;user to choose a folder location for deploying WARs.
;(as potentially their could be more than one Tomcat installed) 
SectionEnd

Из того, что я прочитал, вы не можете запустить пользовательскую страницу из раздела.
Так, как я могу поддерживать страницу MUI_PAGE_COMPONENTS, чтобы позволить пользователю выбирать, хотят ли они установить Tomcat И / ИЛИ также развертывать WAR.

Мне нужна определенная страница, верно?

1 Ответ

2 голосов
/ 15 февраля 2012

Вы можете иметь более одной страницы instfiles, чтобы у вас мог быть установщик с таким порядком страниц:

  1. Компоненты
  2. InstFiles (устанавливает Tomcat)
  3. Каталог (Выберите пункт назначения WAR)
  4. InstFiles (установить WAR)

Section "Tomcat" SECTOM
SectionEnd
Section /o "WAR" SECWAR
SectionEnd
Section
;Use macros from sections.nsh to deselect SECTOM and select SECWAR
SectionEnd

Предварительные функции обратного вызова для страниц 3 и 4 должны использовать SectionFlagIsSet из section.nsh и вызывать Abort, если компонент War не был выбран, поэтому страницы пропускаются.


Другая альтернатива - попробовать плагин DlgHost и показать настраиваемое диалоговое окно в дочернем окне на странице instfiles ...

...