NSIS-Installationsprogramm - Ändern Sie den Pfad basierend auf dem Dialog

868
Ke.

Ich versuche, ein Installationsprogramm mithilfe von NSIS zu erstellen, wobei "Installationsprogramm auf ZIP-Datei" verwendet wird.

Ich möchte am Anfang der Installation ein Dialogfeld erstellen, in dem der Benutzer zwei Auswahlmöglichkeiten (32, 64) hat, und je nach Auswahl die Pfadvariable ($ PROGRAMFILES32 oder $ PROGRAMFILES64) ändern.

Ist das in NSIS möglich? Gibt es irgendwelche Beispielskripte, die mich zum Laufen bringen könnten?

0

1 Antwort auf die Frage

1
idleberg

Es ist wahrscheinlich keine gute Idee, die Wahl dem Benutzer zu überlassen. Ich würde die x64-Header verwenden, um das Standardverzeichnis zu ermitteln.

Fügen Sie dies in die Kopfzeile Ihres Skripts ein.

!include LogicLib.nsh !include x64.nsh 

Dann verwenden Sie dies im Skript, zB in der .onInitFunktion:

$ $ # 64 bit code $ # 32 bit code $ 

Da Sie keine einfache MessageBox mit benutzerdefinierten Schaltflächen erstellen können, empfiehlt es sich, eine Dialogseite mit Optionsfeldern mithilfe von nsDialogs zu erstellen . Die IfAnweisung würde dann zur Leave-Funktion (siehe Beispiel für den Steuerungszustand ) wechseln und den Wert von abfragen $.

In diesem Fall habe ich jedoch keine Wahl, weil ich diese Dateien in einer bereits vorhandenen Software installiere. Der Benutzer hat möglicherweise die 32- oder 64-Bit-Version installiert (sie kann entweder oder beides haben, wenn sie einen 64-Bit-Computer haben). Irgendeine Idee, wie man den if / else-Schalter mit einem Dialogfeld funktionieren lässt? Ke. vor 10 Jahren 0
Siehe meine bearbeitete Antwort idleberg vor 10 Jahren 0
crikey - danke idleberg, wirklich hilfreiche antwort Ke. vor 10 Jahren 0