NSIS インストーラーの開発を数人の開発者に分担したいと考えています。コードを物理的に整理するにはどうすればよいですか? SVN にチェックインするときに、単一の .nsi スクリプトを編集してマージする必要がありますか? NSIS スクリプトをモジュール化された個別のファイルに分割することは可能ですか? これは理想的です。
ありがとう!
NSIS インストーラーの開発を数人の開発者に分担したいと考えています。コードを物理的に整理するにはどうすればよいですか? SVN にチェックインするときに、単一の .nsi スクリプトを編集してマージする必要がありますか? NSIS スクリプトをモジュール化された個別のファイルに分割することは可能ですか? これは理想的です。
ありがとう!
実際のインストーラー生成と 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"
一部のコードをヘッダーファイル(.nsh)に分割し、必要に応じてスクリプトにインクルードできます。たとえば、私のインストーラーはすべて、同じ基本的なMUIページ、テキスト、画像、および前提条件(.NET Framework)を備えています。したがって、すべての!defineと!insertmacroMUI_PAGE_xを使用してMUIを設定するインクルードファイルがあります。次に、別のファイルに、必要な前提条件が整っているかどうかを判断するために使用される関数が含まれています。
!include "uninstaller.nsh" など (通常、インクルード ファイルには .nsh 拡張子が付いています)
場合によっては機能するかもしれないあいまいなオプションは、NSI を生成することです。私は半分その道をたどりました。