Как разделить сценарий NSIS между разработчиками? - PullRequest
3 голосов
/ 15 мая 2009

Я бы хотел разделить задачи по разработке установщика NSIS на пару разработчиков. Как я могу физически организовать код? Нужно ли им редактировать и объединять один скрипт .nsi при регистрации в SVN? Можно ли разделить сценарии NSIS на отдельные модульные файлы? Это было бы идеально.

Спасибо!

Ответы [ 4 ]

6 голосов
/ 15 мая 2009

Я использую «основной» nsi-файл, который составляет фактическое поколение установщика и код MUI, но он включает «дополнительные» определения функций из файлов nsi, а также отдельные файлы для каждого «раздела» установщика.

Пример:


!include "LibraryFunction1.nsh"
!include "LibraryFunction2.nsh"
!include "LibraryFunction3.nsh"

; Basic Defines and MUI code Go HERE

; Output file information
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "File-${BUILD_VER_ABRV}-${BUILD_VER_MIN}.exe"
InstallDir "$PROGRAMFILES\Location\"
InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" ""

; now include file sections
!include "FileSectionDefinition1.nsh"
!include "FileSectionDefinition2.nsh"
!include "FileSectionDefinition3.nsh"
!include "Uninstall.nsh"
0 голосов
/ 14 декабря 2010

Непонятный вариант, который может работать в некоторых случаях, - генерировать NSI. Я наполовину пошел по этому пути.

0 голосов
/ 15 мая 2009

Вы можете разбить некоторый код на файлы заголовков (.nsh) и включить их в свой скрипт по своему усмотрению. Например, все мои установщики имеют одинаковые базовые страницы многоязыкового интерфейса пользователя, текст, изображения, а также необходимые компоненты (.NET Framework). Итак, у меня есть включаемый файл, который устанавливает MUI со всеми! Define и! Insertmacro MUI_PAGE_x. Затем другой файл содержит функции, используемые для определения наличия необходимых предварительных условий.

0 голосов
/ 15 мая 2009

! Include "uninstaller.nsh" и т. Д. (Обычно включаемые файлы имеют расширение .nsh)

...