6

I have an .nsi file which I call via command-line to output the installer, like this:

makensis fullPathToNsiScript

This creates the installer in the folder where my nsi script is. I need to output it to a specific folder, say desktop. Is it possible to do that via command line?

I know the correct way is to specify it in the script itself, like

OutFile "outputFileFullPath"

But is it possible to do via command-line assuming I'm only providing the base-name of the output file in the nsi script? Something like:

In script,

OutFile "outputFilename"

and then in command-line,

makensis fullPathToNsiScript "outputFileFullPath"

? The above obviously doesn't work.

nawfal
  • 70,104
  • 56
  • 326
  • 368

1 Answers1

10
makensis "/XOutFile $%temp%\test.exe" setup.nsi

(Running Makensis /? will show a similar example, /X can be used to execute any NSIS command)

The makensis.nsi example uses another tactic, specifying the outfile on the commandline is optional (/DOutFile=foo.exe makensis.nsi) and the script uses a !ifdef with a hard-coded fallback...

Anders
  • 97,548
  • 12
  • 110
  • 164