3

我想将开发 NSIS 安装程序的任务分配给几个开发人员。如何物理组织代码?他们在签入 SVN 时是否必须编辑和合并单个 .nsi 脚本?是否可以将 NSIS 脚本划分为模块化的单独文件?这将是理想的。

谢谢!

4

4 回答 4

6

我使用构成实际安装程序生成和 MUI 代码的“主”nsi 文件,但它包括来自 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"
于 2009-05-15T16:03:17.327 回答
0

!include "uninstaller.nsh" 等(包含文件通常具有 .nsh 扩展名)

于 2009-05-15T15:52:39.133 回答
0

您可以将一些代码分解为头文件 (.nsh),并在您认为合适的时候将它们包含在您的脚本中。例如,我所有的安装程序都具有相同的基本 MUI 页面、文本、图像以及先决条件(.NET 框架)。所以我有一个包含文件,它使用所有!defines 和!insertmacro MUI_PAGE_x 设置 MUI。然后另一个文件包含用于确定必要的先决条件是否到位的函数。

于 2009-05-15T15:56:31.947 回答
-1

在某些情况下可能会起作用的一个不起眼的选项是生成 NSI。我有一半走了那条路。

于 2010-12-14T02:45:23.317 回答