如何划分开发者的NSIS脚本?
-
22-08-2019 - |
题
我想为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。我种的一半那条路走。
不隶属于 StackOverflow