When compiling a script that includes a ${Switch}
block, makensis
will throw an error when using the /SAFEPPO
switch.
Example
$ makensis NSIS\Examples\LogicLib.nsi /SAFEPPO
# Script output omitted
# !include: could not find: "${_LogicLib_Label_222Tmp}"
# Error in macro _EndSwitch on macroline 9
# Error in script "LogicLib.nsi" on line 387 -- aborting creation process
When using no switch (or /PPO
), this error will not be thrown. I don't know any details about PPO switches, they are hardly documented.
My two cents: If this is a bug, it should be fixed. If it's a feature, it deserves an error explaining what's going on.
Switch uses a temp file and SafePPO does not allow writes to files. Ideally it should work but it might need special support from the compiler.