Archive: How to use /D switch


How to use /D switch
I'm racking my brain trying to pass variables dynamically to my script at compile time using the /D switch, but it does not seem to work at all,

e.g.

"C:\Program Files\NSIS\makensis.exe" Sales_Audit_02.50-Latest_CD_Image.nsi /DROOT_DIRECTORY="C:\TEMP" /DSALES_AUDIT_VERSION="02.50-Latest"

If my script I have references to those 2 variables (ROOT_DIRECTORY, SALES_AUDIT_VERSION) but they never seem to be picking up those values, e.g.

OutFile "Sales_Audit_${SALES_AUDIT_VERSION}_CD_Image.exe"
File /r "${ROOT_DIRECTORY}\*.*"

It only works if I hardcode those variables in the script, e.g.

!define ROOT_DIRECTORY "E:\CD-ROM Images\02.50_LATEST"
!define SALES_AUDIT_VERSION "02.50-Latest"

...but that is exactly what I want to avoid, as I have the same script that needs to be repeatedly run against different directories.

help! what am I doing wrong here?

I'm on 2.0a2

Thx


Put the /D switch before the script name to compile.


D'oh! :eek:

Sorry about that...I spent hours reading the docs and testing different combos and sometimes you just miss the simplest things.... (although an actual example in the NSIS docs would have helped a lot)