Introduction
-
NSIS 2 makes it is possible to create installers
- with a custom user interface. The Modern UI is an interface with a
- style like the wizards of recent Windows versions.
-
This new interface also features new pages
-(Welcome, Finish, Start Menu) and a description area on the components
- page. The interface and the graphics can be customized using the
- provided settings.
-
Using the Modern UI macros and language files,
-writing scripts with a modern interface is easy. This document contains
-information about writing Modern UI scripts and a reference of all
+
NSIS 2 makes it is possible to create installers with a custom user interface. The Modern UI is
+an interface with a style like the wizards of recent Windows versions.
+
This new interface also features new pages (Welcome, Finish, Start Menu) and a description area
+on the components page. The interface and the graphics can be customized using the provided
settings.
-
Important: Because the Modern
-UI has its own macro system, its own default settings and a lot of
-new features, the interface configuration works differently. So you
-should not use commands like Icon, CheckBitmap, InstallColors etc.
+
Using the Modern UI macros and language files, writing scripts with a modern interface is easy.
+This document contains information about writing Modern UI scripts and a reference of all
+settings.
+
Important: Because the Modern UI has its own macro system, its own default
+settings and a lot of new features, the interface configuration works differently. So you should
+not use commands like LicenseText, Icon, CheckBitmap, InstallColors etc.
Screenshots


How to use
-
The Modern UI has a macro system, so all the code to
-control the interface has already been written for you.
-
If you want to start a new Modern UI script or upgrade
-an older script with the Classic UI, follow the steps below.
-
Taking a look at the example scripts
-will also help you to learn more about the Modern UI.
-
Syntax
-
Some defines (i.e. MUI_COMPONENTSPAGE_SMALLDESC) don't need a value, they are true/false settings.
- Others (i.e. MUI_UI) can be used to define a specific value.
-
Parameters are specified in this format:
- required (option1 | option2)
- [optional]
-
You should put all parameters in one string.
+
The Modern UI has a macro system, so all the code to control the interface has already been
+written for you.
+
If you want to start a new Modern UI script or upgrade an older script with the Classic UI,
+follow the steps below.
+
Taking a look at the example scripts will also help you to learn more
+about the Modern UI.
+
Syntax
+
Some defines (e.g. MUI_COMPONENTSPAGE_SMALLDESC) don't need a value, they are true/false
+settings. Others (e.g. MUI_UI) can be used to define a specific value.
+
Parameters are specified in this format: required (option1 | option2)
+[optional]
+
You should put all parameters in one string.
-!define MUI_STARTMENUPAGE_NODISABLE ;No value
-!define MUI_FINISHPAGE_RUN "$INSTDIR\Application.exe" ;Value
-!define MUI_LICENSEPAGE_TEXT '"Text"' ;Text
-!define MUI_LICENSEPAGE_TEXT '"Text" "Buttontext"' ;Multiple texts
+!define MUI_COMPONENTSPAGE_SMALLDESC ;No value
+!define MUI_UI "myUI.exe" ;Value
!define MUI_INSTFILESPAGE_COLORS "FFFFFF 000000" ;Multiple settings
-
If you want a certain value (i.e. a text) to be language-specific, set a language string (using LangString)
- and define $(STRINGNAME) as value. Use a license language string (LicenseLangString) for the license text.
-
When adding " to a Modern UI string, you should always escape it ($\"),
- because the Modern UI macros use " to separate parameters. If you want to set texts like above you have to
- escape both " and ' (using $\" and $\').
-
1. Header file
-
!include "MUI.nsh"
-
MUI.nsh is in the Include directory, so you don't have
- to specify a path.
-
2. Interface Settings
-
Page interface settings apply to all pages of a certain type.
-
General Interface Settings
-
-
For UI elements that are enabled by default, the default value will be used when a setting
- has not been defined.
-
MUI_ICON icon_file
- The icon of the installer.
Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico
-
MUI_UNICON icon_file
- The icon of the uninstaller.
Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico
-
MUI_HEADERIMAGE
- Display an image on the header of a page.
-
-
MUI_HEADERIMAGE_BITMAP bmp_file
- Bitmap image to display on the header of installers pages (recommended size: 150x57 pixels).
- Default: ${NSISDIR}\Contrib\Graphics\Header\nsis.bmp
-
MUI_HEADERIMAGE_UNBITMAP bmp_file
- Bitmap image to display on the header of uninstaller pages (recommended size: 150x57 pixels).
- Default: Installer header bitmap
-
MUI_HEADERIMAGE_NOSTRETCH
- Do not stretch the installer header bitmap to fit the size of the field. Use this option only if you have an
- image that does not use the whole space. If you have a full size bitmap that fits exactly, you should
- not use this option because the size of the field will be different if the user has a custom DPI setting.
-
MUI_HEADERIMAGE_UNNOSTRETCH
- Do not stretch the uninstaller header bitmap to fit the size of the field. Use this option only if you have an
- image that does not use the whole space. If you have a full size bitmap that fits exactly, you should
- not use this option because the size of the field will be different if the user has a custom DPI setting.
-
MUI_HEADERIMAGE_RIGHT
- Display the header image on the right side instead of the left side.
-
-
MUI_BGCOLOR (color: RRGGBBR hexadecimal)
- Background color for the header, Welcome- and Finish page.
Default: FFFFFF
-
-
Interface Resource Settings
-
-
MUI_UI ui_file
- The interface file with the dialog resources. Change this if you have made your own customized UI.
- Default: ${NSISDIR}\Contrib\UIs\modern.exe
-
MUI_UI_HEADERIMAGE ui_file
- The interface files with the dialog resource IDD_INST that contains a bitmap control and space for
- the header bitmap.
- Default: ${NSISDIR}\Contrib\UIs\modern-headerbmp.exe
-
MUI_UI_HEADERIMAGE_RIGHT ui_file
- The interface files with the dialog resource IDD_INST that contains a bitmap control and space for
- the header bitmap on the right side.
- Default: ${NSISDIR}\Contrib\UIs\modern-headerbmpr.exe
-
MUI_UI_COMPONENTSPAGE_SMALLDESC ui_file
- The interface files with a customized dialog resource IDD_SELCOM with a small description area.
- Default: {NSISDIR}\Contrib\UIs\modern-smalldesc.exe
-
MUI_UI_COMPONENTSPAGE_NODESC ui_file
- The interface files with a customized dialog resource IDD_SELCOM without a description area.
- Default: {NSISDIR}\Contrib\UIs\modern-nodesc.exe
-
-
Welcome/Finish Page Interface Settings
-
-
MUI_WELCOMEFINISHPAGE_3LINES
- Create a bigger area for the title on the Welcome- and Finish page, to allow displaying 3 lines of text
- (with the default font).
-
MUI_WELCOMEFINISHPAGE_BITMAP bmp_file
- Bitmap for the Welcome- and Finish page (recommended size: 164x314 pixels).
- Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp
-
-
MUI_WELCOMEFINISHPAGE_NOSTRETCH
- Do not stretch the bitmap for the Welcome and Finish page to fit the size of the field.
- Use this option only if you have an image that does not use the whole space. If you have a full size
- bitmap that fits exactly, you should not use this option because the size of the field will be different
- if the user has a custom DPI setting.
-
-
-
Welcome/Finish Page InstallOptions INI Settings
-
-
MUI_WELCOMEFINISHPAGE_INI ini_file
- InstallOptions INI file for the Welcome- and Finish page.
- Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial.ini
-
MUI_WELCOMEFINISHPAGE_INI_3LINES ini_file
- InstallOptions INI file for the Welcome- and Finish page with space for 3 lines of title text (with the default font).
- Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial3.ini
-
-
Uninstaller Welcome/Finish Page InstallOptions INI Settings
-
-
MUI_UNWELCOMEFINISHPAGE_3LINES
- Create a bigger area for the title on the uninstaller Welcome- and Finish page, to allow displaying 3 lines of text
- (with the default font).
-
MUI_UNWELCOMEFINISHPAGE_BITMAP bmp_file
- Bitmap for the Welcome- and Finish page (recommended size: 164x314 pixels).
- Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp
-
-
MUI_UNWELCOMEFINISHPAGE_NOSTRETCH
- Do not stretch the bitmap for the Welcome and Finish page to fit the size of the field.
- Use this option only if you have an image that does not use the whole space. If you have a full size
- bitmap that fits exactly, you should not use this option because the size of the field will be different
- if the user has a custom DPI setting.
-
-
-
Uninstaller Welcome/Finish Page Interface INI File Settings
-
-
MUI_UNWELCOMEFINISHPAGE_INI ini_file
- InstallOptions INI file for the uninstaller Welcome- and Finish page.
- Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial.ini
-
MUI_WELCOMEFINISHPAGE_INI_3LINES ini_file
- InstallOptions INI file for the Welcome- and Finish page with space for 3 lines of title text (with the default font).
- Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial3.ini
-
-
License Page Interface Settings
-
-
MUI_LICENSEPAGE_BGCOLOR
- (/windows | /grey | (color: RRGGBB hexadecimal))
- The background color for the license textbox. Use /windows for the default text background (usually white).
- Use the /grey for the standard window background (usually grey).
Default: /windows
-
-
Components Page Interface Settings
-
-
MUI_COMPONENTSPAGE_CHECKBITMAPbitmap_file
- The bitmap with images for the checks of the component select treeview.
- Default: ${NSISDIR}\Contrib\Graphics\Checks\modern.bmp
-
MUI_COMPONENTSPAGE_SMALLDESC
- A small description area on the bottom of the page. Use this layout
- if you have a lot of sections and don't need large descriptions.
-
MUI_COMPONENTSPAGE_NODESC
- No description area.
-
-
Installation Page Interface Settings
-
-
MUI_INSTFILESPAGE_COLORS (/windows |
- (foreground color: RRGGBB hexadecimal) (background color: RRGGBB hexadecimal))
- The colors of the details screen.
- Default: /windows
-
MUI_INSTFILESPAGE_PROGRESSBAR ("" | colored | smooth)
- The style of the progress bar. Colored makes it use the MUI_INSTALLCOLORS.
- Default: smooth
-
-
Installer Finish Page Interface Settings
-
-
MUI_FINISHPAGE_NOAUTOCLOSE
- Do not automatically jump to the finish page, to allow the user to
- check the install log.
-
-
Uninstaller Finish Page Interface Settings
-
-
MUI_UNFINISHPAGE_NOAUTOCLOSE
- Do not automatically jump to the finish page, to allow the user to
- check the uninstall log.
-
-
Abort Warning Settings
-
-
MUI_ABORTWARNING
- Show a message box with a warning when the user wants to close the installer.
-
-
MUI_ABORTWARNING_TEXT text
- Texts to display on the abort warning messagebox.
-
-
-
Uninstaller Abort Warning Settings
-
-
MUI_UNABORTWARNING
- Show a message box with a warning when the user wants to close the uninstaller.
-
-
MUI_UNABORTWARNING_TEXT text
- Texts to display on the abort warning messagebox.
-
-
-
3. Pages
-
Insert the following macros to set the pages you want to use.
- The pages will appear in the order you insert them in your script.
- You can also insert custom Page commands between the macros to add custom pages.
- More info about custom pages...
-
You can add multiple pages of certain types (for example, if you
- want the user to specify multiple folders).
-
Examples:
-
-!insertmacro MUI_PAGE_LICENSE "License.rtf"
-!insertmacro MUI_PAGE_COMPONENTS
-
- Installer Pages
- MUI_PAGE_WELCOME
- MUI_PAGE_LICENSE text/rtf_file
- MUI_PAGE_COMPONENTS
- MUI_PAGE_DIRECTORY
- MUI_PAGE_STARTMENU
- MUI_PAGE_INSTFILES
- MUI_PAGE_FINISH
-
-
- Uninstaller Pages
- MUI_UNPAGE_WELCOME
- MUI_UNPAGE_CONFIRM
- MUI_UNPAGE_LICENSE text/rtf_file
- MUI_UNPAGE_COMPONENTS
- MUI_UNPAGE_DIRECTORY
- MUI_UNPAGE_INSTFILES
- MUI_UNPAGE_FINISH
-
-
Page Settings
-
-
To configure a page, you can define the page settings before inserting a page macro.
-
General Page Settings
-
-
MUI_PAGE_HEADER_TEXT text
- Text to display on the header of the page.
-
MUI_PAGE_HEADER_SUBTEXT text
- Subtext to display on the header of the page.
-
-
Welcome Page Settings
-
-
MUI_WELCOMEPAGE_TITLE title
- Title to display on the welcome page.
-
MUI_WELCOMEPAGE_TEXT text
- Texts to display on the welcome page. Use \r\n for a newline.
-
-
License Page Settings
-
-
MUI_LICENSEPAGE_TEXT text [buttontext]
- Texts to display on the license page. See syntax information about setting multiple texts.
-
MUI_LICENSEPAGE_TEXT_TOP text
- Text to display on the top of the license page.
-
MUI_LICENSEPAGE_CHECKBOX
- Display a checkbox the user has to check to agree with the license terms.
-
-
MUI_LICENSEPAGE_CHECKBOX_TEXT text
- Text to display next to the checkbox to agree with the license terms.
-
-
MUI_LICENSEPAGE_RADIOBUTTONS
- Display two radiobuttons to allow the user to choose between accepting the
- license terms or not.
-
-
MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT text
- Text to display next to the checkbox to accept the license terms.
-
MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE text
- Text to display next to the checkbox to dicline the license terms.
-
-
-
Components Page Settings
-
-
MUI_COMPONENTSPAGE_TEXT text [subtext] [subtext2]
- Texts to display on the components page. See syntax information about setting multiple texts.
-
MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE text
- Text to display on the of the top of the description box.
-
MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO text
- Text to display inside the description box when no section is selected.
-
-
Directory Page Settings
-
-
MUI_DIRECTORYPAGE_TEXT text [subtext]
- Texts to display on the directory page. See syntax information about setting multiple texts.
-
MUI_DIRECTORYPAGE_VARIABLE variable
- Variable in which to store the selected folder
- Default: $INSTDIR
-
-
Start Menu Folder Page Settings
-
-
Put the code to write the shortcuts (using CreateShortcut) between this macros:
+
If you want a certain value (e.g. a text) to be language-specific, set a language string (using
+LangString) and define $(STRINGNAME) as value. Use a license language string (LicenseLangString)
+for the license text.
+
When adding " or ` to a Modern UI string, you should always escape ($\" or $\`), because the
+Modern UI macros use " and ` to separate parameters.
+
1. Header file
-!insertmacro MUI_STARTMENU_WRITE_BEGIN
- ...create the shortcuts...
+!include "MUI.nsh"
+
+
MUI.nsh is in the Include directory, so you don't have to specify a path.
+
2. Interface Settings
+
Interface settings should be set before inserting page macros. Page interface settings apply to
+all pages of a certain type.
+
General Interface Settings
+
+
MUI_ICON icon_file
+The icon of the installer.
+Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico
+
MUI_UNICON icon_file
+The icon of the uninstaller.
+Default: ${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico
+
MUI_HEADERIMAGE
+Display an image on the header of a page.
+
+
MUI_HEADERIMAGE_BITMAP bmp_file
+Bitmap image to display on the header of installers pages (recommended size: 150x57 pixels).
+Default: ${NSISDIR}\Contrib\Graphics\Header\nsis.bmp
+
MUI_HEADERIMAGE_UNBITMAP bmp_file
+Bitmap image to display on the header of uninstaller pages (recommended size: 150x57 pixels).
+Default: Installer header bitmap
+
MUI_HEADERIMAGE_NOSTRETCH
+Do not stretch the installer header bitmap to fit the size of the field. Use this option only if
+you have an image that does not use the whole space. If you have a full size bitmap that fits
+exactly, you should not use this option because the size of the field will be different if the user
+has a custom DPI setting.
+
MUI_HEADERIMAGE_UNNOSTRETCH
+Do not stretch the uninstaller header bitmap to fit the size of the field. Use this option only if
+you have an image that does not use the whole space. If you have a full size bitmap that fits
+exactly, you should not use this option because the size of the field will be different if the user
+has a custom DPI setting.
+
MUI_HEADERIMAGE_RIGHT
+Display the header image on the right side instead of the left side.
+
+
MUI_BGCOLOR (color: RRGGBBR hexadecimal)
+Background color for the header, Welcome- and Finish page.
+Default: FFFFFF
+
+
Interface Resource Settings
+
+
MUI_UI ui_file
+The interface file with the dialog resources. Change this if you have made your own customized
+UI.
+Default: ${NSISDIR}\Contrib\UIs\modern.exe
+
MUI_UI_HEADERIMAGE ui_file
+The interface files with the dialog resource IDD_INST that contains a bitmap control and space for
+the header bitmap.
+Default: ${NSISDIR}\Contrib\UIs\modern-headerbmp.exe
+
MUI_UI_HEADERIMAGE_RIGHT ui_file
+The interface files with the dialog resource IDD_INST that contains a bitmap control and space for
+the header bitmap on the right side.
+Default: ${NSISDIR}\Contrib\UIs\modern-headerbmpr.exe
+
MUI_UI_COMPONENTSPAGE_SMALLDESC ui_file
+The interface files with a customized dialog resource IDD_SELCOM with a small description
+area.
+Default: {NSISDIR}\Contrib\UIs\modern-smalldesc.exe
+
MUI_UI_COMPONENTSPAGE_NODESC ui_file
+The interface files with a customized dialog resource IDD_SELCOM without a description area.
+Default: {NSISDIR}\Contrib\UIs\modern-nodesc.exe
+
+
Welcome/Finish Page Interface Settings
+
+
MUI_WELCOMEFINISHPAGE_3LINES
+Create a bigger area for the title on the Welcome- and Finish page, to allow displaying 3 lines of
+text (with the default font).
+
MUI_WELCOMEFINISHPAGE_BITMAP bmp_file
+Bitmap for the Welcome- and Finish page (recommended size: 164x314 pixels).
+Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp
+
+
MUI_WELCOMEFINISHPAGE_NOSTRETCH
+Do not stretch the bitmap for the Welcome and Finish page to fit the size of the field. Use this
+option only if you have an image that does not use the whole space. If you have a full size bitmap
+that fits exactly, you should not use this option because the size of the field will be different
+if the user has a custom DPI setting.
+
+
+
Welcome/Finish Page InstallOptions INI Settings
+
+
MUI_WELCOMEFINISHPAGE_INI ini_file
+InstallOptions INI file for the Welcome- and Finish page.
+Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial.ini
+
MUI_WELCOMEFINISHPAGE_INI_3LINES ini_file
+InstallOptions INI file for the Welcome- and Finish page with space for 3 lines of title text (with
+the default font).
+Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial3.ini
+
+
Uninstaller Welcome/Finish Page InstallOptions INI Settings
+
+
MUI_UNWELCOMEFINISHPAGE_3LINES
+Create a bigger area for the title on the uninstaller Welcome- and Finish page, to allow displaying
+3 lines of text (with the default font).
+
MUI_UNWELCOMEFINISHPAGE_BITMAP bmp_file
+Bitmap for the Welcome- and Finish page (recommended size: 164x314 pixels).
+Default: ${NSISDIR}\Contrib\Graphics\Wizard\win.bmp
+
+
MUI_UNWELCOMEFINISHPAGE_NOSTRETCH
+Do not stretch the bitmap for the Welcome and Finish page to fit the size of the field. Use this
+option only if you have an image that does not use the whole space. If you have a full size bitmap
+that fits exactly, you should not use this option because the size of the field will be different
+if the user has a custom DPI setting.
+
+
+
Uninstaller Welcome/Finish Page Interface INI File Settings
+
+
MUI_UNWELCOMEFINISHPAGE_INI ini_file
+InstallOptions INI file for the uninstaller Welcome- and Finish page.
+Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial.ini
+
MUI_WELCOMEFINISHPAGE_INI_3LINES ini_file
+InstallOptions INI file for the Welcome- and Finish page with space for 3 lines of title text (with
+the default font).
+Default: ${NSISDIR}\Contrib\Modern UI\ioSpecial3.ini
+
+
License Page Interface Settings
+
+
MUI_LICENSEPAGE_BGCOLOR (/windows | /grey | (color:
+RRGGBB hexadecimal))
+The background color for the license textbox. Use /windows for the Windows text background color
+(usually white). Use the /grey for the window background color (usually grey).
+Default: /windows
+
+
Components Page Interface Settings
+
+
MUI_COMPONENTSPAGE_CHECKBITMAP bitmap_file
+The bitmap with images for the checks of the component select treeview.
+Default: ${NSISDIR}\Contrib\Graphics\Checks\modern.bmp
+
MUI_COMPONENTSPAGE_SMALLDESC
+A small description area on the bottom of the page. Use this layout if you have a lot of sections
+and don't need large descriptions.
+
MUI_COMPONENTSPAGE_NODESC
+No description area.
+
+
Installation Page Interface Settings
+
+
MUI_INSTFILESPAGE_COLORS (/windows | (foreground color:
+RRGGBB hexadecimal) (background color: RRGGBB hexadecimal))
+The colors of the details screen. Use /windows for the default Windows colors.
+Default: /windows
+
MUI_INSTFILESPAGE_PROGRESSBAR ("" | colored |
+smooth)
+The style of the progress bar. Colored makes it use the MUI_INSTALLCOLORS.
+Default: smooth
+
+
Installer Finish Page Interface Settings
+
+
MUI_FINISHPAGE_NOAUTOCLOSE
+Do not automatically jump to the finish page, to allow the user to check the install log.
+
+
Uninstaller Finish Page Interface Settings
+
+
MUI_UNFINISHPAGE_NOAUTOCLOSE
+Do not automatically jump to the finish page, to allow the user to check the uninstall log.
+
+
Abort Warning Settings
+
+
MUI_ABORTWARNING
+Show a message box with a warning when the user wants to close the installer.
+
+
MUI_ABORTWARNING_TEXT text
+Texts to display on the abort warning messagebox.
+
+
+
Uninstaller Abort Warning Settings
+
+
MUI_UNABORTWARNING
+Show a message box with a warning when the user wants to close the uninstaller.
+
+
MUI_UNABORTWARNING_TEXT text
+Texts to display on the abort warning messagebox.
+
+
+
3. Pages
+
Insert the following macros to set the pages you want to use. The pages will appear in the order
+you insert them in your script. You can also insert custom Page commands between the macros to add
+custom pages. More info about custom pages...
+
You can add multiple pages of certain types (for example, if you want the user to specify
+multiple folders).
+
Examples:
+
+!insertmacro MUI_PAGE_LICENSE "License.rtf"
+!insertmacro MUI_PAGE_COMPONENTS
+!insertmacro MUI_PAGE_STARTMENU "Application" ;Unique ID for page
+
+
You need the page ID for the Start Menu Folder page when using the Start Menu Folder macros.
+
Installer Pages
+MUI_PAGE_WELCOME
+MUI_PAGE_LICENSE text/rtf_file
+MUI_PAGE_COMPONENTS
+MUI_PAGE_DIRECTORY
+MUI_PAGE_STARTMENU page_id
+MUI_PAGE_INSTFILES
+MUI_PAGE_FINISH
+
Uninstaller Pages
+MUI_UNPAGE_WELCOME
+MUI_UNPAGE_CONFIRM
+MUI_UNPAGE_LICENSE text/rtf_file
+MUI_UNPAGE_COMPONENTS
+MUI_UNPAGE_DIRECTORY
+MUI_UNPAGE_INSTFILES
+MUI_UNPAGE_FINISH
+
Page Settings
+
+
Page Settings apply to a single page and should be set before inserting a page macro.
+
General Page Settings
+
+
MUI_PAGE_HEADER_TEXT text
+Text to display on the header of the page.
+
MUI_PAGE_HEADER_SUBTEXT text
+Subtext to display on the header of the page.
+
+
Welcome Page Settings
+
+
MUI_WELCOMEPAGE_TITLE title
+Title to display on the top of the page.
+
MUI_WELCOMEPAGE_TEXT text
+Text to display on the page. Use \r\n for a newline.
+
+
License Page Settings
+
+
MUI_LICENSEPAGE_TEXT_TOP text
+Text to display on the top of the page.
+
MUI_LICENSEPAGE_TEXT_BOTTOM text
+Text to display on the bottom of the page.
+
MUI_LICENSEPAGE_BUTTON button_text
+Text to display on the 'I Agree' button.
+
MUI_LICENSEPAGE_CHECKBOX
+Display a checkbox the user has to check to agree with the license terms.
+
+
MUI_LICENSEPAGE_CHECKBOX_TEXT text
+Text to display next to the checkbox to agree with the license terms.
+
+
MUI_LICENSEPAGE_RADIOBUTTONS
+Display two radiobuttons to allow the user to choose between accepting the license terms or
+not.
+
+
MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT text
+Text to display next to the checkbox to accept the license terms.
+
MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE text
+Text to display next to the checkbox to dicline the license terms.
+
+
+
Components Page Settings
+
+
MUI_COMPONENTSPAGE_TEXT_TOP text
+Text to display on the top of the page.
+
MUI_COMPONENTSPAGE_TEXT_COMPLIST text
+Text to display on next to the components list.
+
MUI_COMPONENTSPAGE_TEXT_INSTTYPE text
+Text to display on next to the installation type combo box.
+
MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE text
+Text to display on the of the top of the description box.
+
MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO text
+Text to display inside the description box when no section is selected.
+
+
Directory Page Settings
+
+
MUI_DIRECTORYPAGE_TEXT_TOP text
+Text to display on top of the page.
+
MUI_DIRECTORYPAGE_TEXT_DESTINATION text
+Text to display on the destination folder frame.
+
MUI_DIRECTORYPAGE_VARIABLE variable
+Variable in which to store the selected folder.
+Default: $INSTDIR
+
+
Start Menu Folder Page Settings
+
+
Put the code to write the shortcuts (using CreateShortcut) between the MUI_STARTMENU_WRITE_BEGIN
+and MUI_STARTMENU_WRITE_END macros:
+
+!insertmacro MUI_STARTMENU_WRITE_BEGIN page_id
+ ...create shortcuts...
!insertmacro MUI_STARTMENU_WRITE_END
-
When using multiple Start Menu Folder pages, you should also undefine previous StartMenu page
- defines and define the values of the page of which you want to write the value, before inserting the
- MUI_STARTMENU_WRITE_BEGIN macro.
-
MUI_STARTMENUPAGE_TEXT text
- Text to display on the Start Menu folder page.
-
MUI_STARTMENUPAGE_TEXT_CHECKBOX text
- Text to display next to the checkbox to disable the Start Menu folder creation.
-
MUI_STARTMENUPAGE_VARIABLE variable
- Variable to store the current Start Menu Folder. Default is $MUI_STARTMENU_FOLDER.
- You cannot use this variable in your script (or you should Push/Pop it).
-
MUI_STARTMENUPAGE_DEFAULTFOLDER folder
- The default Start Menu Folder.
-
MUI_STARTMENUPAGE_NODISABLE
- Do not display the checkbox to disable the creation of Start Menu
- shortcuts.
-
MUI_STARTMENUPAGE_REGISTRY_ROOT root
- MUI_STARTMENUPAGE_REGISTRY_KEY key
- MUI_STARTMENUPAGE_REGISTRY_VALUENAME value_name
- The registry key to store the Start Menu folder. The page will use it to
- remember the users preference. You should also use it in the uninstaller to
- remove the Start Menu folders. Don't forget to remove this key in the
- uninstaller.
-
In the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu folder:
+
The page ID should be the ID of the page on which the user has selected the folder for the
+shortcuts you want to write.
+
MUI_STARTMENUPAGE_TEXT_TOP text
+Text to display on the top of the page.
+
MUI_STARTMENUPAGE_TEXT_CHECKBOX text
+Text to display next to the checkbox to disable the Start Menu folder creation.
+
MUI_STARTMENUPAGE_VARIABLE variable
+Variable to store the current Start Menu Folder. You cannot use this variable in your script (or
+you should Push/Pop it), therefore using a user variable is recommended.
+
MUI_STARTMENUPAGE_DEFAULTFOLDER folder
+The default Start Menu Folder.
+
MUI_STARTMENUPAGE_NODISABLE
+Do not display the checkbox to disable the creation of Start Menu shortcuts.
+
MUI_STARTMENUPAGE_REGISTRY_ROOT root
+MUI_STARTMENUPAGE_REGISTRY_KEY key
+MUI_STARTMENUPAGE_REGISTRY_VALUENAME value_name
+The registry key to store the Start Menu folder. The page will use it to remember the users
+preference. You should also use it in the uninstaller to remove the Start Menu folders. Don't
+forget to remove this key in the uninstaller.
+
In the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu folder:
-!insertmacro MUI_STARTMENU_GETFOLDER $R0 ;You can also use another var
+!insertmacro MUI_STARTMENU_GETFOLDER page_id $R0
Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk"
+
+
Installation Page Settings
+
+
MUI_INSTFILESPAGE_FINISHHEADER_TEXT text
+Text to display on the header of the installation page when the installation has been completed
+(won't be displayed when using a Finish page without MUI_(UN)FINISHPAGE_NOAUTOCLOSE).
+
MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT text
+Subext to display on the header of the installation page when the installation has been completed
+(won't be displayed when using a Finish page without MUI_(UN)FINISHPAGE_NOAUTOCLOSE).
+
MUI_INSTFILESPAGE_ABORTHEADER_TEXT text
+Text to display on the header of the installation page when the installation has been aborted.
+
MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT text
+Subext to display on the header of the installation page when the installation has been
+aborted.
+
+
Finish Page Settings
+
+
MUI_FINISHPAGE_TITLE title
+Title to display on the top of the page.
+
MUI_FINISHPAGE_TEXT text
+Text to display on the page. Use \r\n for a newline.
+
MUI_FINISHPAGE_BUTTON text
+Text to display on the Finish button.
+
MUI_FINISHPAGE_TEXT_REBOOT text
+Text to display on the finish page when asking for a sytem reboot. Use \r\n for a newline.
+
MUI_FINISHPAGE_TEXT_REBOOTNOW text
+Text to display next to the 'Reboot now' option button.
+
MUI_FINISHPAGE_TEXT_REBOOTLATER text
+Text to display next to the 'Reboot later' option button.
+
MUI_FINISHPAGE_RUN exe_file
+Application which the user can select to run using a checkbox. You don't need to put quotes around
+the filename when it contains spaces.
+
+
MUI_FINISHPAGE_RUN_TEXT text
+Texts to display next to the 'Run program' checkbox.
+
MUI_FINISHPAGE_RUN_PARAMETERS parameters
+Parameters for the application to run. Don't forget to escape double quotes in the value (use
+$\").
+
MUI_FINISHPAGE_RUN_NOTCHECKED
+Do not check the 'Run program' checkbox by default
+
MUI_FINISHPAGE_RUN_FUNCTION function_name
+Call a function instead of executing an application (define MUI_FINISHPAGE_RUN without parameters).
+You can use the function to exectute multiple applications or you can change the checkbox name and
+use it for other things.
+
+
MUI_FINISHPAGE_SHOWREADME file/url
+File or website which the user can select to view using a checkbox. You don't need to put quotes
+around the filename when it contains spaces.
+
+
MUI_FINISHPAGE_SHOWREADME_TEXT text
+Texts to display next to the 'Show Readme' checkbox.
+
MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
+Do not check the 'Show Readme' checkbox by default
+
MUI_FINISHPAGE_SHOWREADME_FUNCTION function_name
+Call a function instead of showing a file (define MUI_FINISHPAGE_SHOWREADME without parameters).
+You can use the function to show multiple files or you can change the checkbox name and use it for
+other things.
+
+
MUI_FINISHPAGE_LINK link_text
+Text for a link on the which the user can click to view a website or file.
+
+
MUI_FINISHPAGE_LINK_LOCATION file/url
+Website or file which the user can select to view using the link. You don't need to put quotes
+around the filename when it contains spaces.
+
MUI_FINISHPAGE_LINK_COLOR (color: 0xBBGGRR
+hexadecimal)
+Text color for the link on the Finish page.
+Default: 0x800000
+
+
MUI_FINISHPAGE_NOREBOOTSUPPORT
+Disables support for the page that allows the user to reboot the system. Define this option to save
+some space if you are not using the /REBOOTOK flag or SetRebootFlag.
+
+
Uninstall Confirm Page Settings
+
+
MUI_UNCONFIRMPAGE_TEXT_TOP text
+Text to display on the top of the page.
+
MUI_UNCONFIRMPAGE_TEXT_LOCATION text
+Text to display next to the uninstall location text box.
+
+
Advanced Page Settings
+
+
You can add custom code to the page functions of your Modern UI pages. More info...
+
+
+
4. Custom functions
+
If you want add your own code to functions inserted by the Modern UI (e.g. the .onGUIInit
+function and the page functions), create your own function and let the Modern UI functions call
+them.
+
More info...
+
5. Language files
+
Insert the Modern UI language files for the languages to want to include.
+
+!insertmacro MUI_LANGUAGE "English"
-
When using multiple Start Menu Folder pages, you should also undefine previous StartMenu page
- defines and define the values of the page of which you want to get the value, before inserting the
- MUI_STARTMENU_GETFOLDER macro.
-
-
Installation Page Settings
-
-
MUI_INSTFILESPAGE_FINISHHEADER_TEXT text
- Text to display on the header of the installation page when the installation has been completed (won't be displayed when using
- a Finish page without MUI_FINISHPAGE_NOAUTOCLOSE).
-
MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT text
- Subext to display on the header of the installation page when the installation has been completed (won't be displayed when using
- a Finish page without MUI_FINISHPAGE_NOAUTOCLOSE).
-
MUI_INSTFILESPAGE_ABORTHEADER_TEXT text
- Text to display on the header of the installation page when the installation has been aborted.
-
MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT text
- Subext to display on the header of the installation page when the installation has been aborted.
-
-
Finish Page Settings
-
-
MUI_FINISHPAGE_TITLE title
- Title to display on the finish page.
-
MUI_FINISHPAGE_TEXT text
- Texts to display on the finish page. Use \r\n for a newline.
-
MUI_FINISHPAGE_BUTTON text
- Text to display on the Finish button.
-
MUI_FINISHPAGE_TEXT_REBOOT text
- Text to display on the finish page when asking for a sytem reboot. Use \r\n for a newline.
-
MUI_FINISHPAGE_TEXT_REBOOTNOW text
- Text to display next to the 'Reboot now' option button.
-
MUI_FINISHPAGE_TEXT_REBOOTLATER text
- Text to display next to the 'Reboot later' option button.
-
MUI_FINISHPAGE_RUN exe_file
- Application which the user can select to run using a checkbox.
- You don't need to put quotes around the filename when it contains spaces.
-
-
MUI_FINISHPAGE_RUN_TEXT text
- Texts to display next to the 'Run program' checkbox.
-
MUI_FINISHPAGE_RUN_PARAMETERS parameters
- Parameters for the application to run. Don't forget to escape double
- quotes in the value (use $\").
-
MUI_FINISHPAGE_RUN_NOTCHECKED
- Do not check the 'Run program' checkbox by default
-
MUI_FINISHPAGE_RUN_FUNCTION function_name
- Call a function instead of executing an application (define MUI_FINISHPAGE_RUN without parameters).
- You can use the function to exectute multiple applications or you can change the checkbox name and
- use it for other things.
-
-
MUI_FINISHPAGE_SHOWREADME file/url
- File or website which the user can select to view using a checkbox.
- You don't need to put quotes around the filename when it contains spaces.
-
-
MUI_FINISHPAGE_SHOWREADME_TEXT text
- Texts to display next to the 'Show Readme' checkbox.
-
MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
- Do not check the 'Show Readme' checkbox by default
-
MUI_FINISHPAGE_SHOWREADME_FUNCTION function_name
- Call a function instead of showing a file (define MUI_FINISHPAGE_SHOWREADME without parameters).
- You can use the function to show multiple files or you can change the checkbox name and
- use it for other things.
-
-
MUI_FINISHPAGE_LINK link_text
- Text for a link on the which the user can click to view a website or file.
-
-
MUI_FINISHPAGE_LINK_LOCATION file/url
- Website or file which the user can select to view using the link.
- You don't need to put quotes around the filename when it contains spaces.
-
MUI_FINISHPAGE_LINK_COLOR (color: 0xBBGGRR hexadecimal)
- Text color for the link on the Finish page.
Default: 0x800000
-
-
MUI_FINISHPAGE_NOREBOOTSUPPORT
- Disables support for the page that allows the user to reboot the system.
- Define this option to save some space if you are not using the /REBOOTOK
- flag or SetRebootFlag.
-
-
Uninstall Confirm Page Settings
-
-
MUI_UNCONFIRMPAGE_TEXT text [subtext]
- Texts to display on the uninstall confirm page. See syntax information about setting multiple texts.
-
-
Advanced Page Settings
-
-
You can add custom code to the page functions of your Modern UI pages.
- More info...
-
-
-
4. Custom functions
-
If you want add your own code to functions inserted by the
- Modern UI (i.e. the .onGUIInit function and the page functions), create your
- own function and let the Modern UI functions call them.
-
More info...
-
5. Language files
-
Insert the Modern UI language files for the languages to want to include.
-
!insertmacro MUI_LANGUAGE "English"
-
The Modern UI language files load the NLF language files,
- so you should not use LoadLanguageFile.
-
Language Selection Dialog
-
-
If you want the installer to display a language selection dialog
- (have a look at the
- MultiLanguage.nsi example), insert the MUI_LANGDLL_DISPLAY macro in the .onInit function.
+
The Modern UI language files load the NLF language files, so you should not use
+LoadLanguageFile.
+
Language Selection Dialog
+
+
If you want the installer to display a language selection dialog (have a look at the MultiLanguage.nsi example), insert the
+MUI_LANGDLL_DISPLAY macro in the .onInit function.
Function .onInit
@@ -554,61 +567,59 @@ Function .onInit
FunctionEnd
-
Language Selection Dialog Settings
-
-
To remember to users preference, you can define a registry key.
- Note: These defines should be set before inserting the instfiles page macro.
-
MUI_LANGDLL_REGISTRY_ROOT root
- MUI_LANGDLL_REGISTRY_KEY key
- MUI_LANGDLL_REGISTRY_VALUENAME value_name
- The registry key to store the language. The users preference will be remembered.
- You can also use it in the uninstaller to display the right language. Don't forget
- to remove this key in the uninstaller.
-
In the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the stored language
- preference.
+
Language Selection Dialog Settings
+
+
To remember to users preference, you can define a registry key.
+Note: These defines should be set before inserting the instfiles page macro.
+
MUI_LANGDLL_REGISTRY_ROOT root
+MUI_LANGDLL_REGISTRY_KEY key
+MUI_LANGDLL_REGISTRY_VALUENAME value_name
+The registry key to store the language. The users preference will be remembered. You can also use
+it in the uninstaller to display the right language. Don't forget to remove this key in the
+uninstaller.
+
In the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the stored language
+preference.
Function un.onInit
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
-
-
-
Language Selection Dialog Interface Settings
-
-
To customize the language selection dialog interface, use these defines before inserting
- the MUI_LANGDLL_DISPLAY macro.
-
MUI_LANGDLL_WINDOWTITLE text
- The window title of the language selection dialog.
-
MUI_LANGDLL_INFO text
- The text to display on the language selection dialog.
-
MUI_LANGDLL_ALWAYSSHOW
- Always show the language selection dialog, even if a language has been stored in the registry.
- The language stored in the registry will be selected by default.
-
-
-
6. Reserve files
-
If you are using BZIP2 (solid) compression, it's important that
-files which are being extracted in init- or page functions function are located
-before other files in the data block, because this will make your installer faster.
-
If there are File commands in your sections or functions above
-the init- or page functions, add the reserve file macros above your sections and
-functions.
-
ReserveFile "ioFile.ini" ;Your own InstallOptions INI files
+
+
Language Selection Dialog Interface Settings
+
+
To customize the language selection dialog interface, use these defines before inserting the
+MUI_LANGDLL_DISPLAY macro.
+
MUI_LANGDLL_WINDOWTITLE text
+The window title of the language selection dialog.
+
MUI_LANGDLL_INFO text
+The text to display on the language selection dialog.
+
MUI_LANGDLL_ALWAYSSHOW
+Always show the language selection dialog, even if a language has been stored in the registry. The
+language stored in the registry will be selected by default.
+
+
+
6. Reserve files
+
If you are using BZIP2 (solid) compression, it's important that files which are being extracted
+in init- or page functions function are located before other files in the data block, because this
+will make your installer faster.
+
If there are File commands in your sections or functions above the init- or page functions, add
+the reserve file macros above your sections and functions.
+
+ReserveFile "ioFile.ini" ;Your own InstallOptions INI files
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;InstallOptions plug-in
!insertmacro MUI_RESERVEFILE_LANGDLL ;Language selection dialog
-
7. Your own sections and functions
-
Add your installer sections and functions.
- See the NSIS Users Manual for details.
-
8. Descriptions for the sections
-
The descriptions of sections will be displayed on the
- components page, when the user hovers the mouse over a section.
- If you don't want to use descriptions, use the MUI_COMPONENTSPAGE_NODESC
- setting.
-
To set a description for a section, you have to add an
- additional parameter to the Section commmand with a name for the define
- that should contain the section number.
+
7. Your own sections and functions
+
Add your installer sections and functions. See the NSIS Users Manual for details.
+
Information about section- and function code for Start Menu shortcut creation and language
+selection can be found above.
+
8. Descriptions for the sections
+
The descriptions of sections will be displayed on the components page, when the user hovers the
+mouse over a section. If you don't want to use descriptions, use the MUI_COMPONENTSPAGE_NODESC
+interface setting.
+
To set a description for a section, you have to add an additional parameter to the Section
+commmand with a name for the define that should contain the section number.
Section "Section Name 1" Section1
...
@@ -624,8 +635,8 @@ LangString DESC_Section2 ${LANG_ENGLISH} "Description of section 2."
!insertmacro MUI_DESCRIPTION_TEXT ${Section2} $(DESC_Section2)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
-
For the uninstaller, use the MUI_UNFUNCTION_DESCRIPTION_BEGIN
-and MUI_UNFUNCTIONS_DESCRIPTION_END macros
+
For the uninstaller, use the MUI_UNFUNCTION_DESCRIPTION_BEGIN and
+MUI_UNFUNCTIONS_DESCRIPTION_END macros
ReserveFile "ioFile.ini" ;Your own InstallOptions INI files
ReserveFile "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp" ;Your header bitmap
@@ -634,10 +645,10 @@ ReserveFile "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp" ;Your header bitmap
!insertmacro MUI_RESERVEFILE_LANGDLL ;LangDLL (language selection dialog)
!insertmacro MUI_RESERVEFILE_STARTMENU ;Start Menu Folder page
-
+
Custom page commands
-
If you want add custom pages to your installer, you should insert your
-own page commands between the page macros.
+
If you want add custom pages to your installer, you should insert your own page commands between
+the page macros.
!insertmacro MUI_PAGE_WELCOME
Page custom FunctionName ;Custom page
@@ -649,28 +660,27 @@ UninstPage custom un.FunctionName ;Custom page
!insertmacro MUI_UNPAGE_INSTFILES
Call InstallOptions
-
InstallOptions is a plug-in that displays custom pages that you can create
-using INI files.
-
Have a look at the
-InstallOptions documentation for info about creating InstallOptions INI files.
-
First, you have to extract your InstallOptions INI File in the .onInit function
-(un.onInit for the uninstaller) using the MUI_INSTALLOPTIONS_EXTRACT macro.
+
InstallOptions is a plug-in that displays custom pages that you can create using INI files.
+
Have a look at the InstallOptions documentation for
+info about creating InstallOptions INI files.
+
First, you have to extract your InstallOptions INI File in the .onInit function (un.onInit for
+the uninstaller) using the MUI_INSTALLOPTIONS_EXTRACT macro.
Function .onInit
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioFile.ini"
FunctionEnd
-
If your INI File is located in another directory, use MUI_INSTALLOPTIONS_EXTRACT_AS.
-The second parameter is the filename for the temporary plug-ins directory, use this filename as
-parameter for the other InstallOptions macros.
+
If your INI File is located in another directory, use MUI_INSTALLOPTIONS_EXTRACT_AS. The second
+parameter is the filename for the temporary plug-ins directory, use this filename as parameter for
+the other InstallOptions macros.
Function .onInit
!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "..\ioFile.ini" "ioFile.ini"
FunctionEnd
-
You can call Instal Options in the function defined with the Page
-or UninstPage command using the MUI_INSTALLOPTIONS_DISPLAY macro.
-Use the MUI_HEADER_TEXT macro to set the text in the white box.
+
You can call Instal Options in the function defined with the Page or UninstPage command using
+the MUI_INSTALLOPTIONS_DISPLAY macro. Use the MUI_HEADER_TEXT macro to set the text in the white
+box.
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page Title"
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "A subtitle"
@@ -680,8 +690,8 @@ Function FunctionName ;FunctionName defined with Page command
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "ioFile.ini"
FunctionEnd
-
For custom fonts and colors, macros for the initDialog and show
-functions of InstallOptions are also available.
+
For custom fonts and colors, macros for the initDialog and show functions of InstallOptions are
+also available.
Var HWND
Var DLGITEM
@@ -702,52 +712,52 @@ Function FunctionName ;FunctionName defined with Page command
;$DLGITEM contains the HWND of the first field
CreateFont $FONT "Tahoma" 10 700
SendMessage $DLGITEM ${WM_SETFONT} $FONT 0
-
+
!insertmacro MUI_INSTALLOPTIONS_SHOW
FunctionEnd
-
If you need the InstallOptions return value (success, back, cancel, error),
-use the MUI_INSTALLOPTIONS_DISPLAY_RETURN or MUI_INSTALLOPTIONS_SHOW_RETURN macro. The
-return value will be added to the stack, so you can use the Pop command to get it.
+
If you need the InstallOptions return value (success, back, cancel, error), use the
+MUI_INSTALLOPTIONS_DISPLAY_RETURN or MUI_INSTALLOPTIONS_SHOW_RETURN macro. The return value will be
+added to the stack, so you can use the Pop command to get it.
Use these macros to read or write INI file values.
!insertmacro MUI_INSTALLOPTIONS_READ $VAR "ioFile.ini" "Field #" "Value Name"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioFile.ini" "Field #" "Value Name" "Value"
-
For example, you can use the MUI_INSTALLOPTIONS_READ macro in a section
-to get the user input:
-
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "ioFile.ini" "Field 1" "State"
-
For more details about InstallOptions, validation of user input etc., check the
-InstallOptions documentation.
-
-
Basic: Basic.nsi
- Welcome/Finish page: WelcomeFinish.nsi
- Multilanguage: MultiLanguage.nsi
- Header image: HeaderBitmap.nsi
- Custom pages: InstallOptions.nsi
- Start Menu Folder page: StartMenu.nsi
-
+
For example, you can use the MUI_INSTALLOPTIONS_READ macro in a section to get the user
+input:
+
+!insertmacro MUI_INSTALLOPTIONS_READ $R0 "ioFile.ini" "Field 1" "State"
+
+
For more details about InstallOptions, validation of user input etc., check the InstallOptions documentation.
+
+
Basic: Basic.nsi
+Welcome/Finish page: WelcomeFinish.nsi
+Multiple languages: MultiLanguage.nsi
+Header image: HeaderBitmap.nsi
+Custom pages: InstallOptions.nsi
+Start Menu Folder page: StartMenu.nsi
Customize the dialogs
-
To change elements on the dialogs, use customized UI resource files
- (see Interface settings). You can change your copies of the original files (in the
- Contrib\UIs folder) by using an application such as
- Resource Hacker.
-
The 'Please wait while Setup is loading...' text on the splash
- screen that is being displayed while the installer is starting (Verifying installer,
- Unpacking data) can be changed by using a customized UI resource file (MUI_UI setting)
- with a modified dialog 111.
- The 'Verifying installer' and 'Unpacking data' texts are defined in the language header
- file of the NSIS exehead (Source\exehead\lang.h). To change them, you have to edit this
- file and recompile NSIS.
-
To modify the Welcome- and Finish dialog, use a custom INI file
- (MUI_SPECIALINI setting) or write to the INI file in the custom page functions.
-
-
If you want add your own code to functions
- inserted by the Modern UI, such as the .onGUIInit function and the Page functions,
- create your own function and let the Modern UI functions call them. Use the defines
- to define the name of your functions.
-
Example:
+
To change elements on the dialogs, use customized UI resource files (see Interface settings).
+You can change your copies of the original files (in the Contrib\UIs folder) by using an
+application such as Resource
+Hacker.
+
The 'Please wait while Setup is loading...' text on the splash screen that is being displayed
+while the installer is starting (Verifying installer, Unpacking data) can be changed by using a
+customized UI resource file (MUI_UI setting) with a modified dialog 111.
+The 'Verifying installer' and 'Unpacking data' texts are defined in the language header file of the
+NSIS exehead (Source\exehead\lang.h). To change them, you have to edit this file and recompile
+NSIS.
+
To modify the Welcome- and Finish dialog, use a custom INI file (MUI_SPECIALINI setting) or
+write to the INI file in the custom page functions.
+
+
If you want add your own code to functions inserted by the Modern UI, such as the .onGUIInit
+function and the Page functions, create your own function and let the Modern UI functions call
+them. Use the defines to define the name of your functions.
+
Example:
!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit
@@ -755,104 +765,108 @@ Function myGUIInit
...your own code...
FunctionEnd
-
General Custom Functions
-
-
These defines should be set before inserting a the language macros.
-
MUI_CUSTOMFUNCTION_GUIINIT function
- MUI_CUSTOMFUNCTION_UNGUIINIT function
- MUI_CUSTOMFUNCTION_ABORT function
- MUI_CUSTOMFUNCTION_UNABORT function
-
-
Page Custom Functions
-
-
These defines should be set before inserting a page macro.
-
MUI_PAGE_CUSTOMFUNCTION_PRE function
- MUI_PAGE_CUSTOMFUNCTION_SHOW function
- MUI_PAGE_CUSTOMFUNCTION_LEAVE function
-
Notes:
-
- - The StartMenu page does not have a Show function
- - In the Pre function of the Welcome- and Finish page, you can write to the InstallOptions INI file
- of the page (ioSpecial.ini)
- - In the Show function of Welcome- and Finish page, $MUI_HWND contains the HWND of the inner dialog
-
-
+
General Custom Functions
+
+
These defines should be set before inserting a the language macros.
+
MUI_CUSTOMFUNCTION_GUIINIT function
+MUI_CUSTOMFUNCTION_UNGUIINIT function
+MUI_CUSTOMFUNCTION_ABORT function
+MUI_CUSTOMFUNCTION_UNABORT function
+
+
Page Custom Functions
+
+
These defines should be set before inserting a page macro.
+
MUI_PAGE_CUSTOMFUNCTION_PRE function
+MUI_PAGE_CUSTOMFUNCTION_SHOW function
+MUI_PAGE_CUSTOMFUNCTION_LEAVE function
+
Notes:
+
+- The StartMenu page does not have a Show function
+- In the Pre function of the Welcome- and Finish page, you can write to the InstallOptions INI
+file of the page (ioSpecial.ini)
+- In the Show function of Welcome- and Finish page, $MUI_HWND contains the HWND of the inner
+dialog
+
+
Version history
-- 1.67 - November 7, 2003
-
- - Support for uninstaller Welcome- and Finish pages
- - Renamed a few settings
- - Default header image
- - Support for uninstaller abort warning
- - Setting for 3 line text on Welcome- and Finish page
- - Langauge file backwards compatibility: English for missing strings
- - Support for different uninstaller header image
- - Language selection dialog not displayed if installer is silent
- - Cancel button on Finish page when there are options
-
+- 1.67 - November 9, 2003
+
+- Support for uninstaller Welcome- and Finish pages
+- Improved and changed text settings
+- ID for Start Menu Folder pages, easier to use multiple pages
+- Renamed a few settings
+- Default header image
+- Support for uninstaller abort warning
+- Setting for 3 line text on Welcome- and Finish page
+- Langauge file backwards compatibility: English for missing strings
+- Support for different uninstaller header image
+- Language selection dialog not displayed if installer is silent
+- Cancel button on Finish page when there are options
+
+
- 1.66 - October 7, 2003
-
- - New system for page settings and custom pages
- - Support for uninstaller components page
- - Support for multiple pages of the same type
- - New possition for interface settings
- - Changed macro, setting names
- - Updated langauge system, new language files and settings
- - Removed MUI_PRODUCT and MUI VERSION. Use Name command now.
- - Removed MUI_BRANDINGTEXT. Use BrandingText command now.
-
+
+- New system for page settings and custom pages
+- Support for uninstaller components page
+- Support for multiple pages of the same type
+- New possition for interface settings
+- Changed macro, setting names
+- Updated langauge system, new language files and settings
+- Removed MUI_PRODUCT and MUI VERSION. Use Name command now.
+- Removed MUI_BRANDINGTEXT. Use BrandingText command now.
+
+
- 1.65 - August 12, 2003
-
- - New page configuration system, no different system for installers
- with custom pages
- - Default windows color for the license text background
- - Example script updates (new format, user variables)
- - Improved registry storage for Start Menu folder
- - ReserveFile macro for StartMenu plug-in
- - Option to always show the language selection dialog
- (even if a language has been stored in the registry)
- - Checkboxes on Finish page can be used to call a function
- - Support for custom leave functions for Start Menu Folder,
- Welcome and Finish pages
- - Support for a link on the Finish page
- - New macro to get Start Menu folder in uninstaller
- - Options to disable bitmap stretching
- - Components page description box info text: always displayed
- when mouse is outside box, disabled style
-
+
+- New page configuration system, no different system for installers with custom pages
+- Default windows color for the license text background
+- Example script updates (new format, user variables)
+- Improved registry storage for Start Menu folder
+- ReserveFile macro for StartMenu plug-in
+- Option to always show the language selection dialog (even if a language has been stored in the
+registry)
+- Checkboxes on Finish page can be used to call a function
+- Support for custom leave functions for Start Menu Folder, Welcome and Finish pages
+- Support for a link on the Finish page
+- New macro to get Start Menu folder in uninstaller
+- Options to disable bitmap stretching
+- Components page description box info text: always displayed when mouse is outside box, disabled
+style
+
+
-
- 1.64 - April 27, 2003
-
- - Support for license page with checkbox or radiobuttons to
- let the user accept the agreement or not
- - Macros for finish headers don't have to be inserted anymore
- - Language preference stored when installation has completed,
- no problems anymore when the users selects the wrong language
- - Header text for aborted installation
- - New macros: get language for uninstaller, delete shortcuts
- - Language specific fonts
- - Welcome/Finish page INI files can be modified in pre functions
- - More texts can be customized
-
+
+- Support for license page with checkbox or radiobuttons to let the user accept the agreement or
+not
+- Macros for finish headers don't have to be inserted anymore
+- Language preference stored when installation has completed, no problems anymore when the users
+selects the wrong language
+- Header text for aborted installation
+- New macros: get language for uninstaller, delete shortcuts
+- Language specific fonts
+- Welcome/Finish page INI files can be modified in pre functions
+- More texts can be customized
- Complete version history
+
+
+
Complete version history
Credits
-
Made by Joost Verburg.
- Icons designed by Nikos Adamamas, aka adni18.
- Thanks to Amir Szekely, aka KiCHiK, for his work on NSIS
- to make this possible.
+
Made by Joost Verburg.
+Icons designed by Nikos Adamamas, aka adni18.
+Thanks to Amir Szekely, aka KiCHiK, for his work on NSIS to make this possible.
Help
-
Please post questions at the
- NSIS Forum.
+
Please post questions at the NSIS
+Forum.
License
-
Copyright © 2002-2003 Joost Verburg
+
+Copyright © 2002-2003 Joost Verburg
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -869,16 +883,18 @@ it freely, subject to the following restrictions:
2. Altered versions must be plainly marked as such,
and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any distribution.
-
-