Archive: How to make a NSIS installations in separated files


How to make a NSIS installations in separated files
  Hi all,

I'm working in a NSIS installation that has a "main" (setup.nsi) file with the order of my custom pages (I'm using MUI2 and InstallOptions) . In setup.nsi I include a .nsh file that have the Create/Leave functions for a Custom Page.

I want to create a macro that pops up a message box if any input text is empty (macro FORCE_NOT_EMPTY_TEXT). When I compile I get warnings because of the macro and the parameters of the macro are empty (void string):

3 warnings:
LangString "field" is not set in language table of language English
LangString "dialog" is not set in language table of language English
LangString "message" is not set in language table of language English
Any suggestions?

thank you in advance


Macro:


macroend 

>
SETUP.NSI file:



# Included files
!include Sections.nsh
!include MUI2.nsh
!include InstallOptions.nsh
!include DialogIMAPConfiguration.nsh ; <<<<< include custom dialog implementation
!include DialogIMAPFolders.nsh
!include DialogSMTP.nsh

# Reserved Files
ReserveFile "${NSISDIR}\Plugins\System.dll"

# Variables
Var StartMenuGroup

# Installer pages
!insertmacro MUI_PAGE_WELCOME

Page custom CreateDialogIMAPConfiguration LeaveDialogIMAPConfiguration ; <<<< my custom page

Page custom CreateDialogIMAPFolders

Page custom CreateDialogSMTP

!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES

# Installer languages
!insertmacro MUI_LANGUAGE "English" ; <<<<<<<<< language definition
>
Custom Page "implementation": $(DIALOG_IMAP) and $(TXT_LOGIN_DIFFERENT) are LangString


FunctionEnd 

>

You are using LangStrings ( in parentheses ) where I think you're looking for defines (in curly braces )


macroend 

>

Now I am using !defines instead of LangStrings to avoid the language table check and works fine. Thank you Animaether.