Как условно скомпилировать скрипт NSIS на основе параметров командной строки? - PullRequest
5 голосов
/ 30 ноября 2011

Я пытаюсь обобщить файл установки путем внешней передачи номера версии. Я хочу быть в состоянии сделать это:

makensis myscript.nsi parameter=value

, а затем прочитайте параметр в сценарии, чтобы с помощью одного и того же сценария я мог создавать исполняемые файлы с разными версиями. Я нашел this & this , но они, похоже, предназначены для передачи параметров командной строки в сгенерированный setup.exe Это возможно и как?

1 Ответ

6 голосов
/ 30 ноября 2011

Вы можете добавить символы в глобально определенный список из командной строки , используя ключ / D:

makensis /DMyVersion="1.0.1" install.nsi

Затем вы можете использовать их, используя синтаксис $ {}:

!ifdef MyVersion
    StrCpy $Version "${MyInstallerName}"
!else
    StrCpy $Version "1.0.0"
!endif

Также представляет интерес плагин GetVersion, обсуждаемый в этом вопросе SO: NSIS - поместите версию EXE в имя установщика

...