Pantalla condicional de páginas en NSIS usando nsDialog
Pregunta
He añadido una página personalizada a mi instalador creado con nsDialogs, sin embargo, la página sólo es necesario para que se muestre una de mis opciones TipoInst.
InstType "Default" # 1
InstType "Developer" # 2
En el ejemplo anterior, me gustaría que la página adicional que se muestra sólo a los desarrolladores. ¿Cuál es la mejor práctica?
- Inspeccionar algún atributo para determinar el tipo de instalación y el llamado a reprimir
nsDialogs::Show
? Ni idea de lo que debe buscar el atributo - Algunos lógica en el enrutamiento página que evita la página de ser golpeado? No tengo idea de cómo hacer esto
- Algo más?
Solución
Para saltar una página , llamada de aborto en el crear devolución de llamada función de esa 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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow