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?

  1. Überprüfen Sie einige Attribut, um den Typ und Unterdrückungs-Aufruf nsDialogs::Show installieren zu bestimmen? keine Ahnung, was Attribut sucht
  2. Einige Logik auf der Seite Routing, die die Seite zu sein Hit vermeidet? Keine Ahnung, wie dies zu tun
  3. Etwas anderes?
War es hilfreich?

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
scroll top