2016-04-20 6 views
0

Dies ist mein erstes Mal mit NSIS, und ich bin ein wenig Schwierigkeiten haben.Nullsoft InstallDir ungültige Parameter

Ich mag würde mein Programm unter einem Verzeichnis mit dem Produktnamen, gefolgt von der Versionsnummer installieren. Also gab ich dies einen Versuch:

!define PRODUCT_NAME "My Prog" 
!define SETUP_NAME "My Prog Setup" 
!define PRODUCT_VERSION "SW-00134-00" 

!define EXECUTABLE_NAME "MyProg.exe" 
!define SHORTCUT_NAME "MyProg.lnk" 

!define INSTALL_FOLDER "C:\Code32\${PRODUCT_NAME}\${PRODUCT_VERSION}\" 


; The name of the installer 
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" 

; The file to write 
OutFile "${SETUP_NAME} ${PRODUCT_VERSION}.exe" 

; The default installation directory 
InstallDir ${INSTALL_FOLDER} 

Dies führt jedoch in dem Fehler InstallDir expects 1 parameters, got 3 in der letzten Zeile. Ich gehe davon aus, da der Präprozessor einen String Ersatz tut und deshalb InstallDir sieht drei Argumente anstelle von 1, aber ich habe keine Ahnung, was ich über diese früh im Spiel bin im Gespräch.

Antwort

3

Ja der Compiler entfernt den äußeren Satz von Anführungszeichen, wenn vorhanden, so nach der Anweisung InstallDir Vorverarbeitung auf, als InstallDir C:\Code32\My Prog\SW-00134-00\ endet.

es nur zu beheben, um den InstallDir Parameter zitieren:

InstallDir "${INSTALL_FOLDER}" 
+0

Perfect, danke! – audiFanatic

Verwandte Themen