NSIS-Как отправить параметр из командной строки в файл nsi

Я новичок в сценарии NSIS. Я хочу отправить номер версии в свой файл test.nsi, но это не работает. В моем файле test.nsi значение версии: test.nsi. Каков правильный синтаксис этой команды?

"C:\Program Files\NSIS\makensis.exe" -DVERSION=1.2.1 test.nsi

Благодарность,

Джданг


person AustinTX    schedule 03.11.2011    source источник


Ответы (1)


Документация достаточно понятна

http://nsis.sourceforge.net/Docs/Chapter3.html

Вы должны использовать / вместо - для префикса имени параметра, чтобы ваша команда стала

"C:\Program Files\NSIS\makensis.exe" /DVERSION=1.2.1 test.nsi
person Paul Hunt    schedule 03.11.2011
comment
Я попробовал этот вариант, но внутри файла test.nsi я все еще вижу значение !echo $VERSION равно test.nsi - person AustinTX; 04.11.2011
comment
Я попробовал этот вариант, но внутри файла test.nsi я все еще вижу значение !echo $VERSION равное test.nsi. Каков правильный синтаксис для ссылки на переменную VERSION в этом случае? $ВЕРСИЯ ?? - person AustinTX; 04.11.2011
comment
Чтобы сослаться на значение версии внутри файла test.nsi, вы должны использовать ${VERSION}, а не $VERSION, поскольку это определение, а не переменная. - person Paul Hunt; 04.11.2011
comment
Убедитесь, что ссылка на ваш файл .NSI является последним параметром в командной строке. - person Brett Veenstra; 30.05.2013
comment
@BrettVeenstra Вы не представляете, сколько времени я потратил на решение проблемы, прежде чем попробовать ваше решение. Спасибо, спасибо за этот маленький лакомый кусочек, который я никогда не забуду :-) Я не понимал, что порядок имеет значение при звонке. - person codemonkey; 02.04.2014
comment
@PaulHunt Не могли бы вы добавить информацию о «$ {VERSION}» в свой ответ? Полезнее будет :) - person Vadim Ovchinnikov; 10.05.2017