Bedingte Anzeige der Seiten in NSIS nsDialog
Frage
Ich habe eine benutzerdefinierte Seite meiner Installer hinzugefügt erstellt nsDialogs verwenden, jedoch ist die Seite nur notwendig, um eine meiner instanztyp Optionen angezeigt werden.
InstType "Default" # 1
InstType "Developer" # 2
Im obigen Beispiel würde ich die zusätzliche Seite möge nur Entwickler gezeigt werden. Was ist die beste Praxis?
- Überprüfen Sie einige Attribut, um den Typ und Unterdrückungs-Aufruf
nsDialogs::Show
installieren zu bestimmen? keine Ahnung, was Attribut sucht - Einige Logik auf der Seite Routing, die die Seite zu sein Hit vermeidet? Keine Ahnung, wie dies zu tun
- Etwas anderes?
Lösung
Um überspringt eine Seite , Anrufabbruch in der Callback-Funktion für die Seite erstellen.
!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
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow