In order to use makensis for unattended scripts it's important to evaluate the error code:
http://forums.winamp.com/showthread.php?t=252342
Unfortunately a failed "finalize" is not considered an error by makensis and it still returns %errorlevel% 0, e.g.:
!finalize 'C:\SignCode.cmd "%1"'
This should be at least a warning, so that scripts using "makensis" /WX" can detect a failed installer compilation.
Tested with NSIS 3.0rc2
PS: the makensis.exe error codes should be documented so that batch scripting can rely on them.
0 means success, anything else means failure but there are no documented values you can use to determine why it failed.