我想在几个开发人员之间划分开发NSIS安装程序的任务。我如何物理组织代码?他们检查SVN时是否需要编辑和合并单个.nsi脚本?是否可以将NSIS脚本划分为模块化的单独文件?这将是理想的。
谢谢!
答案 0 :(得分:6)
我使用构成实际安装程序生成和MUI代码的“main”nsi文件,但它包含来自nsi文件的“额外”函数定义以及每个安装程序“section”的单独文件。
示例:
!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"
答案 1 :(得分:0)
!包含“uninstaller.nsh”等(包含文件通常具有.nsh扩展名)
答案 2 :(得分:0)
您可以将一些代码分解为头文件(.nsh),并根据需要将它们包含在脚本中。例如,我的所有安装程序都具有相同的基本MUI页面,文本,图像以及先决条件(.NET框架)。所以我有一个包含所有!定义和!insertmacro MUI_PAGE_x的MUI的包含文件。然后另一个文件包含用于确定是否有必要的先决条件的函数。
答案 3 :(得分:-1)
在某些情况下可能起作用的模糊选项是生成NSI。我有一半走那条路。