Как интегрировать NSIS с системой сборки и поддерживать управление версиями

У меня есть сценарий nsis для создания установочного пакета инструмента в .NET, и он отлично работает.

Проблема в том, что я хочу интегрировать его в свою систему сборки (в настоящее время использую NANT, но перехожу на rake с помощью ironruby)

Версия продукта хранится в текстовом файле, который считывается для создания информации о сборке. В настоящее время система сборки автоматически обновляет номер версии сборки, но основные и второстепенные номера изменяются вручную.

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

Решение, которое я рассматриваю, состоит в том, чтобы создать шаблон сценария NSIS с некоторыми заполнителями и использовать рубин (хотя и грабли), чтобы изменить эти заполнители с соответствующими номерами версий, а затем сгенерировать установщик, но мне это кажется грязным взломом .

У кого-нибудь есть лучшее предложение?


person Ricardo Amores    schedule 21.07.2010    source источник


Ответы (1)


Я бы сказал, что у вас есть два варианта:

  • Передайте номера версий в качестве аргументов компилятору: makensis /Dbuild=1234 myscript.nsi (затем вы можете использовать ${build} в своем скрипте)
  • Сгенерируйте .nsh с некоторыми !define на лету и !включите этот .nsh в свой скрипт
person Anders    schedule 21.07.2010
comment
Думаю первый вариант подойдет. Спасибо! - person Ricardo Amores; 22.07.2010