我想为NSIS安装的几个开发中的发展鸿沟的任务。我怎样才能身体组织代码?他们有编辑,当他们检查到SVN合并单.nsi脚本?是否有可能NSIS脚本划分为模块化的,单独的文件?这将是理想的。

谢谢!

有帮助吗?

解决方案

我用的“主” 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"

其他提示

!包括 “uninstaller.nsh” 等(包括文件通常具有.nsh扩展名)

您可以摆脱一些代码,头文件(.nsh),并将它们包括在你的脚本,你认为合适。比如我所有的安装都具有相同的基本MUI网页,文本,图像,以及先决条件(.NET框架)。所以我的MUI建立与所有的!定义和!insertmacro MUI_PAGE_x一个包含文件。然后另一个文件包含用于确定是否有必要prereqs到位的功能。

这可能在某些情况下能使用的晦涩选项是产生NSI。我种的一半那条路走。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top