Pergunta

Eu adicionei uma página personalizada ao meu instalador criado usando nsdialogs, no entanto, a página é necessária apenas para ser exibida em uma das minhas opções Insttype.

InstType "Default" # 1
InstType "Developer" # 2

No exemplo acima, eu gostaria que a página extra fosse mostrada apenas aos desenvolvedores. Qual é a melhor prática?

  1. Inspecionar algum atributo para determinar o tipo de instalação e suprimir a chamada para nsDialogs::Show? Não tenho ideia de que atributo procurar
  2. Alguma lógica no roteamento da página que evita que a página seja atingida? Não tenho idéia de como fazer isso
  3. Algo mais?
Foi útil?

Solução

Para pule uma página, ligue para abortar no retorno de chamada da função Criar para essa página.

!include LogicLib.nsh

InstType "Normal"
InstType "Developer"

Page Components
Page Custom myDevPage
;Page start menu etc...
Page InstFiles

Section /o "" ${SEC_Dev}
;This (hidden) section is used just to check the insttype state, but you could also use it to install dev specific files etc
SectionIn 2
Sectionend

Function myDevPage
${IfNot} ${SectionIsSelected} ${SEC_Dev}
    Abort
${EndIf}
;nsDialog code goes here
FunctionEnd
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top