InstallOptionsEx is a NSIS plugin which allows you to create custom pages for
NSIS installers, to prompt the user for extra information. This is a expanded
version of original InstallOptions, with additional controls, flags and options.
InstallOptionsEx will create a dialog which will be displayed inside the NSIS
window. The controls on the dialog can be defined in an INI file.
NSIS 2 has a page system which allows you to add custom pages to your
installer without messing with Prev/Next functions. With the this plugin system,
you also don't have to worry anymore about extracting and deleting the DLL file.
When you store the INI files in the plugins directory, NSIS will also delete them
automatically.
This version of InstallOptionsEx has been designed for NSIS 2. It supports
customized user interfaces and custom font and DPI settings.
This documentation uses the expand/collapse effect, making information to
be in levels. Click on one item name which have an icon to see its respective
description.
INI File Structure
This is where everything about the INI file reference (on next section)
is explained. Changes to the INI file structure since InstallOptions are
represented by these colors:
Controls in that section are organized as follows, from the simplest
control to the most complex:
This section configures the page as a whole. The following are
the value names supported by this section:
NumFields
Specifies the control type. One of the following can be used to determine
a control type:
Label
Used to display static text.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
GroupBox
Displays a frame to group controls.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
Icon
Displays an icon (.ico), an executable icon (.exe), a DLL icon (.dll),
a cursor (.cur), an animated cursor (.ani) or a Windows icon. Any icons (except from executables and
dlls) and cursors (except animated) are resized to fit on the area you gave for the icon, using the
best icon or cursor for that area size. If the area is the same size as the icon or cursor, no
resizing is needed, and it will appear as it is. The plugin will always try to use the best icon or
cursor for your computer display.
For InstallOptions and InstallOptions 2.4.1 beta 11:
Displays only an icon (.ico), an executable icon (.exe), a DLL icon (.dll) or
a Windows icon.
For InstallOptions and InstallOptions 2.4.1 beta 10 and below:
Displays only an icon (.ico).
Supported by: InstallOptions 1.4 beta, InstallOptionsEx 2.4.1 beta 1
Bitmap
Displays a bitmap (.bmp).
Supported by: InstallOptions 1.4 beta, InstallOptionsEx 2.4.1 beta 1
Animation
Displays an AVI video (.avi) without sound. Types of AVI supported:
Uncompressed;
Compressed using run-length of 8 bits (BI_RLE8) encoding.
Supported by: InstallOptionsEx 2.4.1 beta 1
ProgressBar
Displays a bar that shows progress.
Supported by: InstallOptionsEx 2.4.1 beta 1
Link
Displays a static hot text that, when the mouse is passed over its area,
the mouse cursor turns into a hand. When combined with Label,
Bitmap and Icon controls, this makes their areas also make
the mouse turn into a hand, and execute the action of this control. It's
better to don't use any text with this trick.
Supported by: InstallOptions 2.2, InstallOptionsEx 2.4.1 beta 1
CheckBox
Displays a check box with label.
Supported by: InstallOptions 1.3, InstallOptionsEx 2.4.1 beta 1
RadioButton
Displays a radio button with label.
Supported by: InstallOptions 1.3, InstallOptionsEx 2.4.1 beta 1
Button
Displays a push button.
Supported by: InstallOptions 2.3, InstallOptionsEx 2.4.1 beta 1
UpDown
Displays a pair of arrow buttons that the user can click to increment
or decrement a number in a Text or ComboBox buddy controls,
to change the selection upwards or downwards of a ListBox control,
or to be used alone (without the user knowing what number he/she selected).
Supported by: InstallOptionsEx 2.4.1 beta 4
Text
Accepts text input from the user.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
Password
Accepts password input from the user. The input is masked with * characters.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
IPAddress
Displays an edit box used for IP address input.
Supported by: InstallOptionsEx 2.4.1 beta 2
HotKey
Removed due to problems internally with the dll.
For InstallOptions 2.4.1 beta 11 and below:
Displays an edit box used to get keyboard input.
Supported by: InstallOptionsEx 2.4.1 beta 1-11
FileRequest
Use Text and Button controls instead.
For InstallOptionsEx 2.4.1 beta 4 and below:
Displays a textbox and a browse button. Clicking the browse button will
display a file requester where the user can browse for a file.
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1-4 only
DirRequest
Use Text and Button controls instead.
For InstallOptionsEx 2.4.1 beta 4 and below:
Displays a textbox and a browse button. Clicking the browse button will
display a directory requester where the user can browse for a directory.
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1-4 only
DropList
Only allows selection of items in the list.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
ComboBox
Allows the user to select a item in the pop up list and to type text not in there.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
DateTime
Displays a combobox where the user can pick or select a date or time
he/she wants.
Supported by: InstallOptionsEx 2.4.1 beta 3
ListBox
Shows multiple items and can optionally allow the user to select more than one item.
Supported by: InstallOptions 1.4, InstallOptionsEx 2.4.1 beta 1
ListView
Shows a linear list of items. Each item consists of a
label, optional 16x16px and 32x32px images. Those are respectively from
SmallImageList and LargeImageList value names.
Supported by: InstallOptionsEx 2.4.2 beta 3
TreeView
Shows a hierarchical list of items. Each item consists of a
label, and each item can have a list of subitems associated with it. By
clicking an item, the user can expand or collapse the associated list of
subitems.
Supported by: InstallOptionsEx 2.4.2 beta 1
TrackBar
Displays a bar where the user can select with the slider one of the
options indicated by ticks. It doesn't include labels.
Supported by: InstallOptionsEx 2.4.1 beta 2
MonthCalendar
Displays a month calendar where the user can select a date he/she wants.
Supported by: InstallOptionsEx 2.4.1 beta 3
Default Value: None
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
Text
Generally specifies control caption, but this can depend on the control type:
Label
Specifies the control caption.
Default Value: None
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
Icon
Specifies the path to an icon file (.ico), a cursor (.cur), an animated
cursor (.ani), an executable (.exe) or a plugin (.dll) where the icon can be
found.
For InstallOptions 2.4.1 beta 11 only:
Specifies the path to an icon file (.ico), an executable (.exe)
or a plugin (.dll) where the icon can be found.
For InstallOptions and InstallOptions 2.4.1 beta 10 and below:
Specifies the path to an icon file (.ico) where the icon can
be found.
Default Value: None
Supported by: InstallOptions 1.4 beta, InstallOptionsEx 2.4.1 beta 1
Bitmap
Specifies the path to a bitmap (.bmp).
Default Value: None
Supported by: InstallOptions 1.4 beta, InstallOptionsEx 2.4.1 beta 1
Animation
Specifies the path to an AVI video (.avi). It has to be without sound.
Default Value: None
Supported by: InstallOptionsEx 2.4.1 beta 1
CheckBox/RadioButton
Specifies the control caption.
Default Value: None
Supported by: InstallOptions 1.3, InstallOptionsEx 2.4.1 beta 1
Button
Specifies control's text. If ICON or BITMAP flags are
associated with a button control, this specifies the path where the icon or
bitmap is.
For InstallOptions and InstallOptionsEx 2.4.1 beta 1 only:
This only specifies control's text.
Default Value: None
Supported by: InstallOptions 2.3, InstallOptionsEx 2.4.1 beta 1
UpDown
Moved to RefField value name.
For InstallOptions and InstallOptions 2.4.2 beta 2 and below:
Specifies the buddy control field number (where the UpDown attaches
itself into another). Recommended types of buddy controls are: Text,
ComboBox and ListBox. If you don't want to have a buddy
control, you have to leave this as blank.
Default Value: None
Supported by: InstallOptionsEx 2.4.1 beta 4
Text/Password
Specifies the password mask character. The control state is immediately
hidden by the character specified.
Default Value: *
Supported by: InstallOptionsEx 2.4.1 beta 10
ComboBox
Removed due to problems internally with the dll.
For InstallOptions 2.4.1 beta 11 and below:
Specifies the path to a bitmap (.bmp) to load containing a slot for each
item in the list specified by "ListItems". Each bitmap slot (for each list
item) is 16x16 pixels long, with transparent color set to #FF00FF (format
#RRGGBB). Limit of 256 bitmap slots for now. The slots have to be ordered
as the list items.
Default Value: None
Supported by: InstallOptionsEx 2.4.1 beta 1-11
DateTime
Specifies the format to show State. The format basic explanation
can be found on the Regional and Language Options on
Control Panel.
Default Value: Date format
specified by the user in the Regional and Language Options from
Control Panel.
Supported by: InstallOptionsEx 2.4.1 beta 3
ListBox
Specifies the width of the vertical columns inside the control in
pixels. Specifying 0 makes the control to have only one column occupying
the entire control.
Default Value: 0 (1 column occupying entire control).
Supported by: InstallOptionsEx 2.4.1 beta 13
TreeView
Feature moved to StateImageList INI value name.
For InstallOptions 2.4.2 beta 2 and below:
If CHECKBOXES flag is specified, this has to
specify the path to a bitmap (.bmp) containing 6 16x16 pixels long state
images. Those are listed below in order:
- Nothing;
- Unchecked;
- Checked;
- Intermediate or grayed out;
- Disabled and unchecked;
- Disabled and checked.
Mask color for transparency is #FF00FF (format #RRGGBB). Total bitmap size
is limited to 96x16 pixels. This can use the same graphics used by the
NSIS' instruction "CheckBitmap".
Required by flags: CHECKBOXES.
Default Value: None.
Supported by: InstallOptionsEx 2.4.2 beta 1
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
State
Specifies something to be executed or opened. Doesn't support parameters.
If one of the "REQUEST" flags is specified, this specifies the return value for the
operation done in the dialog. This can change, depending on which "REQUEST" flag is
chosen on Flags value name:
OPEN_FILEREQUEST
Specifies a file to be selected in the "Open" dialog. If MULTISELECT
flag is specified, files are enclosed inside double quotes (") and separates the
files with a space character ( ). If the dialog is canceled, the default value is
the previous file specified.
Default Value: Previous file specified.
Supported by: InstallOptionsEx 2.4.2 beta 3
SAVE_FILEREQUEST
Specifies a file to be selected in the "Save" dialog. If the dialog is canceled,
the default value is the previous file specified.
Default Value: Previous file specified.
Supported by: InstallOptionsEx 2.4.2 beta 3
DIRREQUEST
Outputs the folder chosen in the "Browse" dialog. If the dialog is canceled,
the default value is the previous folder specified here.
Default Value: Previous folder specified.
Supported by: InstallOptionsEx 2.4.2 beta 3
COLORREQUEST
Specifies the color to appear or selected in "Color" dialog. Format:
0xBBRRGG (hexadecimal). If the dialog is canceled, the default value is the previous
color specified here.
Default Value: Previous color specified.
Supported by: InstallOptionsEx 2.4.2 beta 3
FONTREQUEST
Specifies the font to appear or selected in "Font" dialog. The format
bases on the actual values of font value names and a color value name, separated by
"|" characters in this order:
"FontName|FontHeight|FontBold|FontItalic|FontUnderline|FontStrikeOut|TxtColor".
If the dialog is canceled, the default value is the previous
font specified here.
Default Value: Previous font specified.
Supported by: InstallOptionsEx 2.4.2 beta 3
For InstallOptionsEx 2.4.2 beta 2 and below:
Specifies something to be executed or opened. Doesn't support parameters.
If you specify OPEN_FILEREQUEST, SAVE_FILEREQUEST, or DIRREQUEST
flags this specify to what control field number the result value will be
returned. Recommended controls are: Text and ComboBox controls.
For InstallOptions and InstallOptionsEx 2.4.1 beta 3 and below:
Only specifies something to be executed or opened.
Default Value: None
Supported by: InstallOptions 2.3, InstallOptionsEx 2.4.1 beta 1
UpDown
Causes validation on the selected control to force the user to enter a
minimum amount of text. If the user specifies less text than this, a message
box will appear and the dialog will not be dismissed. This can change
depending on control type:
Animation
Specifies the starting frame of the animation. If 0, it is the
first frame of the animation. If -1, it is the last frame of the animation
and makes it not to be played. If this is the same as specified on
MaxLen INI value name, it will only show that frame without playing
the animation.
Default Value: 0 (First frame of the animation).
Supported by: InstallOptionsEx 2.4.1 beta 1
ProgressBar
Removed.
For InstallOptions 2.4.1 beta 11 and below:
Specifies where the progress starts. Maximum is 65535. If 0, means that there
is no minimum limit.
Default Value: 0 (No minimum limit).
Supported by: InstallOptionsEx 2.4.1 beta 1
Text/ComboBox
Specifies the minimum length of text. Maximum is 32768. If 0, means that there
is no minimum limit.
Default Value: 0 (No minimum limit).
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1
TrackBar
Removed. However, this may return in the future.
For InstallOptions 2.4.1 beta 11 and below:
Specifies the first item of the control. If 0, means that there
is no minimum limit.
Default Value: 0 (No minimum limit).
Supported by: InstallOptionsEx 2.4.1 beta 1
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1
ValidateText
Removed due to the new Notification System.
For InstallOptions 2.4.1 beta 5:
Causes InstallOptionsEx to call your NSIS custom page validation/leave
function whenever the control's selection changes. Your validation/leave
function can read the State value from the "Settings" section to
determine which control caused the notification, if any, and perform
some appropriate action followed by an Abort instruction (to tell NSIS
to return back to the page).
For InstallOptionsEx 2.4.1 beta 4:
Supported by all controls except Label, Bitmap, Icon, GroupBox, MonthCalendar, DateTime, HotKey and UpDown controls.
For InstallOptionsEx 2.4.1 beta 3 and below:
Supported by Text, Password, IPAddress, ComboBox, DropList, ListBox, CheckBox, RadioButton, Link and Button controls.
For InstallOptionsEx 2.4.1 beta 1:
Supported by Text, Password, ComboBox, DropList, ListBox, CheckBox, RadioButton, Link and Button controls.
For InstallOptions:
Supported by DropList, ListBox, CheckBox, RadioButton, Link and Button controls.
For InstallOptions 2.3:
Supported by CheckBox, RadioButton, Button controls.
Supported by: InstallOptions 2.3, InstallOptionsEx 2.4.1 beta 1
DISABLED
Do not stop on the control when the user pressed the Tab key. Add
NOTABSTOP to all controls of a group started with GROUP flag,
except the first one to allow navigation between groups with the Tab key.
Supported by: InstallOptions 2.0, InstallOptionsEx 2.4.1 beta 1
Bitmap
RESIZETOFIT
Resizes the image to the size of the control. Also useful to support
custom DPI settings.
Supported by: InstallOptions 2.0, InstallOptionsEx 2.4.1 beta 1
TRANSPARENT
Hides every pixel with the same color as of the top left pixel. This allows to
see-through to controls behind it. This flag doesn't work well with a combination
of the RESIZETOFIT flag and bitmaps with more than 256 colors.
Supported by: InstallOptions 2.42, InstallOptionsEx 2.4.1 beta 13
Animation
CENTER
Included with controls.
For InstallOptionsEx 2.4.1 beta 10 and below:
Makes the animation to be centered.
Supported by: InstallOptionsEx 2.4.1 beta 1
TRANSPARENT
Makes the first pixel of the animation to be the same as
the background color. This is mostly useful when MaxLen is set to
the frame set on MinLen, which makes it appear like a normal
picture.
Supported by: InstallOptionsEx 2.4.1 beta 1-10, 2.4.2 beta 2
NOAUTOPLAY
Removed.
For InstallOptionsEx 2.4.1 beta 1:
Makes the animation to start paused.
Supported by: InstallOptionsEx 2.4.1 beta 1
ProgressBar
SMOOTH
Makes the progress bar smooth.
Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.1 beta 1
VSCROLL
Makes the progress bar to appear as a vertical progress bar with the
indicator bar starting from the bottom.
Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.1 beta 11
VERTICAL
Renamed to VSCROLL.
For InstallOptionsEx 2.4.1 beta 10 and below:
Makes the progress bar to appear as a vertical progress bar with the
indicator bar starting from the bottom.
Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.1 beta 1
CheckBox/RadioButton
Makes the control to have an additional "indetermined" state. This is
generally used when some items are selected from another controls, but
not all of them. State can input and output the number 2 as that state.
Supported by: InstallOptionsEx 2.4.1 beta 7
Button
OPEN_FILEREQUEST
Makes the control to display a common dialog requiring a file for input to open.
Supported by: InstallOptionsEx 2.4.1 beta 11
FILEREQUEST
Renamed to OPEN_FILEREQUEST.
For InstallOptionsEx 2.4.1 beta 10 and below:
Makes the control to display a common dialog requiring a file
for input to open.
Supported by: InstallOptionsEx 2.4.1 beta 4
SAVE_FILEREQUEST
Makes the control to display a common dialog requiring a file for input to save on.
Supported by: InstallOptionsEx 2.4.1 beta 11
REQ_SAVE
Renamed to SAVE_FILEREQUEST.
For InstallOptionsEx 2.4.1 beta 10 and below:
Makes the control to display a common dialog requiring a file
for input to save on.
Supported by: InstallOptionsEx 2.4.1 beta 4
DIRREQUEST
Makes the control to display a common dialog requiring a directory for input.
Supported by: InstallOptionsEx 2.4.1 beta 4
FILE_MUST_EXIST
Determines if the selected file must exist. It only affects the
OPEN_FILEREQUEST dialog.
Required flags: OPEN_FILEREQUEST.
Supported by: InstallOptionsEx 2.4.1 beta 4
FILE_EXPLORER
Enables new file request look (recommended).
Required flags: OPEN_FILEREQUEST or SAVE_FILEREQUEST.
Supported by: InstallOptionsEx 2.4.1 beta 4
FILE_HIDEREADONLY
Hides the "open read only" check box.
Required flags: OPEN_FILEREQUEST.
Supported by: InstallOptionsEx 2.4.1 beta 4
WARN_IF_EXIST
Displays a warning message if the selected file already exists. It
only affects OPEN_FILEREQUEST or SAVE_FILEREQUEST dialogs.
Required flags: OPEN_FILEREQUEST or SAVE_FILEREQUEST.
Supported by: InstallOptionsEx 2.4.1 beta 4
PATH_MUST_EXIST
Prevents the user from typing a non-existent path. It only affects
OPEN_FILEREQUEST or SAVE_FILEREQUEST dialogs.
Required flags: OPEN_FILEREQUEST or SAVE_FILEREQUEST.
Supported by: InstallOptionsEx 2.4.1 beta 4
PROMPT_CREATE
Displays a warning if the selected file does not exist. However, it
still allows the user to select the file. It only affects
OPEN_FILEREQUEST dialogs.
Required flags: OPEN_FILEREQUEST.
Supported by: InstallOptionsEx 2.4.1 beta 4
BITMAP
Makes the control to show a bitmap instead of text. ICON flag
disables this flag.
Supported by: InstallOptionsEx 2.4.1 beta 2
ICON
Makes the control to show an icon instead of text.
Supported by: InstallOptionsEx 2.4.1 beta 2
UpDown
LEFT
Removed due to Align INI value name implementation.
For InstallOptionsEx 2.4.1 beta 13 and below:
Makes the control to position to the left of its buddy control.
Supported by: InstallOptionsEx 2.4.1 beta 4
HSCROLL
Makes the arrows of the control to point left and right instead of up
and down.
Supported by: InstallOptionsEx 2.4.1 beta 11
HORIZONTAL
Renamed to HSCROLL.
For InstallOptionsEx 2.4.1 beta 9 and below:
Makes the arrows of the control to point left and right instead of up
and down.
Supported by: InstallOptionsEx 2.4.1 beta 4
WRAP
Makes the position to "wrap" if it is incremented or decremented beyond
the ending or beginning of the range.
Supported by: InstallOptionsEx 2.4.1 beta 4
Text/Password
ONLY_NUMBERS
Forces the user to enter only numbers into the edit box. Doesn't allow
negative numbers to be entered. Text can still be pasted normally.
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1
MULTILINE
Causes the control to accept multiple-lines.
Supported by: InstallOptions 2.2, InstallOptionsEx 2.4.1 beta 1
WANTRETURN
Specifies that a carriage return be inserted when the user presses the
ENTER key while entering text into the text box.
Required flags: MULTILINE.
Supported by: InstallOptions 2.2, InstallOptionsEx 2.4.1 beta 1
NOWORDWRAP
Disables the word-wrap that occurs when long lines are entered. Long
lines instead scroll off to the side.
Required flags: MULTILINE.
Disabled by flags: HSCROLL.
Supported by: InstallOptions 2.2, InstallOptionsEx 2.4.1 beta 1
HSCROLL
Shows a horizontal scroll bar.
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1
VSCROLL
Shows a vertical scroll bar.
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1
READONLY
Prevents the user from entering or editing text in the edit control,
but allow the user to select and copy the text.
Supported by: InstallOptions 2.2, InstallOptionsEx 2.4.1 beta 1
PASSWORD
Same as using the control DropList.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
DateTime
UPDOWN
Makes the control to be like an UpDown control with a Text control, but
using date and time.
Supported by: InstallOptionsEx 2.4.1 beta 3
ListBox
MULTISELECT
Turns string selection on or off each time the user clicks or double-clicks
a string in the control. The user can select any number of strings.
Supported by: InstallOptions 1.4, InstallOptionsEx 2.4.1 beta 1
EXTENDEDSELECT
Allows multiple items to be selected by using the SHIFT key and the
mouse or special key combinations.
Disabled by flags: MULTISELECT.
Supported by: InstallOptionsEx 2.4.1 beta 11
EXTENDEDSELCT
Renamed to EXTENDEDSELECT.
For InstallOptionsEx 2.4.1 beta 10 and below:
Allows multiple items to be selected by using the SHIFT key and the
mouse or special key combinations.
Disabled by flags: MULTISELECT.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
VSCROLL
Shows a disabled vertical scroll bar when there is no need for one.
Disabled by flags: MULTISELECT.
Supported by: InstallOptions 2.4, InstallOptionsEx 2.4.1 beta 1
ListView/TreeView
CHECKBOXES
Enables check boxes for items in TreeView and
ListView controls and the use of the space character to switch
among states. A check box is displayed only if an image is associated
with the item by using StateImageList INI value name. See
State INI value name for more information regarding the selection
of items.
For InstallOptionsEx 2.4.2 beta 2 and below:
Only enables checkboxes for items in TreeView controls.
Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.2 beta 1
EDITLABELS
Enables the edition of ListItems items in the control
by selecting the item first and then clicking over the label. It's doesn't
yet return values
Supported by: InstallOptionsEx 2.4.2 beta 3
LIST_VIEW
Shows items in report view mode. This mode shows items in
inverse "N" mode. That means: the first item starts at the upper-left
corner of the control, then the next item comes below it. This mode
allows subitems, that describe items, to appear with header
items for the columns used to describe what each subitem is. Header
items can added with HeaderItems value name. Also, HeaderAlign
aligns columns for each header item and HeaderWidth adjusts the
width for each column. This mode uses images from the SmallImageList
for the items images. An item image goes to the left of the label.
Supported by: InstallOptionsEx 2.4.2 beta 3
TrackBar
TOOLTIPS
Removed.
For InstallOptionsEx 2.4.1 beta 13 and below:
Makes the control show tooltips when the user changes the slider position.
Supported by: InstallOptionsEx 2.4.1 beta 2-13
NO_TICKS
Makes the control to don't show ticks on the control.
Supported by: InstallOptionsEx 2.4.1 beta 2
VSCROLL
Makes the control to be vertically orientated.
Supported by: InstallOptionsEx 2.4.1 beta 2
BACK_RECT
Removed.
For InstallOptionsEx 2.4.1 beta 10 and below:
Shows a white rectangle beneath the slider.
Supported by: InstallOptionsEx 2.4.1 beta 2
MonthCalendar
NOTODAY
Makes the control to do not display the today's date at the bottom of
the control and its red circle.
For InstallOptionsEx 2.4.1 beta 10 and below:
This only hides the today's date.
Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.1 beta 3
NOTODAYCIRCLE
Included in NOTODAY flag.
For InstallOptionsEx 2.4.1 beta 10 and below:
Makes the control to do not display the today's date red circle
at the bottom of the control.
Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.1 beta 3
WEEKNUMBERS
Makes the control to display week numbers (1-52) to the left of each
row of days. Week 1 is defined as the first week that contains at least
four days.
Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.1 beta 3
Default Value: None
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1
Notify
This specifies flags for the horizontal alignment of controls. Only
one of the flags below can be used:
LEFT
Self-explanatory.
Supported by: InstallOptionsEx 2.4.2 beta 1
CENTER
Self-explanatory.
Supported by: InstallOptionsEx 2.4.2 beta 1
RIGHT
Self-explanatory.
Supported by: InstallOptionsEx 2.4.2 beta 1
These below are controls that support some or all of the flags above. Flags
can be utilized differently from control to control:
Animation
Positions the movie to the custom aligment; left or center of
the control.
Supports: LEFT, CENTER flags.
Default Value: CENTER.
Supported by: InstallOptionsEx 2.4.2 beta 1
CheckBox/RadioButton
Positions the button to the custom aligment; left or right
of the text. RTL INI value name from "Settings" INI section inverts
this value.
Supports: LEFT, RIGHT flags.
Default Value: LEFT.
Supported by: InstallOptionsEx 2.4.2 beta 1
UpDown
Positions the control to the custom aligment; left or right
of a buddy control. This has no effect if Text INI value name is not
used. RTL INI value name from "Settings" INI section inverts this
value.
Supports: LEFT, RIGHT flags.
Default Value: RIGHT.
Supported by: InstallOptionsEx 2.4.2 beta 1
DateTime
Positions the month calendar to the custom alignment; to the
left or right margin of the control. This has no effect if UPDOWN flag
from Flags INI value name is specified. RTL INI value name
from "Settings" INI section inverts this value.
Supports: LEFT, RIGHT flags.
Default Value: LEFT.
Supported by: InstallOptionsEx 2.4.2 beta 1
TrackBar
Positions the ticks to the custom alignment; to the left, both
ends (CENTER), or right margin of the control. This has no effect if
VSCROLL flag from Flags INI value name is not specified.
Supports: LEFT, CENTER, RIGHT flags.
Required flag: VSCROLL from Flags INI value name.
Default Value: RIGHT.
Supported by: InstallOptionsEx 2.4.2 beta 1
Supported by: InstallOptionsEx 2.4.2 beta 1
VAlign
This specifies flags for the horizontal alignment of text on
controls. Only one of the flags below can be used:
LEFT
Self-explanatory.
Supported by: InstallOptionsEx 2.4.2 beta 1
CENTER
Self-explanatory.
Supported by: InstallOptionsEx 2.4.2 beta 1
RIGHT
Self-explanatory.
Supported by: InstallOptionsEx 2.4.2 beta 1
JUSTIFY
Self-explanatory. Reserved for future use.
Supported by: InstallOptionsEx 2.4.2 beta 1
These below are controls that support some or all of the flags above. Flags
can be utilized differently from control to control:
Label/GroupBox/Link
Positions the text to the custom aligment; to the left, center,
or right margin of the control. RTL INI value name from "Settings"
INI section inverts this value.
Supports: LEFT, CENTER, RIGHT flags.
Default Value: LEFT.
Supported by: InstallOptionsEx 2.4.2 beta 1
CheckBox/RadioButton
Positions the text to the custom aligment; left or right
of the button. RTL INI value name from "Settings" INI section inverts
this value.
Supports: LEFT, RIGHT flags.
Default Value: LEFT.
Supported by: InstallOptionsEx 2.4.2 beta 1
Button
Positions the text to the custom aligment; to the left, center,
or right margin of the control. RTL INI value name from "Settings"
INI section inverts this value.
Supports: LEFT, CENTER, RIGHT flags.
Default Value: CENTER.
Supported by: InstallOptionsEx 2.4.2 beta 1
Text/Password
Positions the text to the custom aligment; to the left, center,
or right margin of the control. RTL INI value name from "Settings"
INI section inverts this value.
Windows 95, Windows NT 4.0 and earlier require: MULTILINE
flag from Flags INI value name.
Supports: LEFT, CENTER, RIGHT flags.
Default Value: LEFT.
Supported by: InstallOptionsEx 2.4.2 beta 1
DropList/ComboBox/ListBox
Positions the text of items and text box to the custom aligment;
to the left, center, or right margin of items and control. RTL INI
value name from "Settings" INI section inverts this value.
Supports: LEFT, CENTER, RIGHT flags.
Default Value: CENTER.
Supported by: InstallOptionsEx 2.4.2 beta 1
Supported by: InstallOptionsEx 2.4.2 beta 1
TxtVAlign
Specifies the title text of a tooltip with BALLOON flag. It appears
bold above the normal tooltip text. If empty, no title will appear.
Default Value: "" (No title).
Supported by: InstallOptionsEx 2.4.1 beta 8
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
How to Use
Step 1: Using With Modern UI
As this is a different module than the original InstallOptions, none of
the commands provided by Modern UI supports InstallOptionsEx.dll, but you can
make a "trick" by renaming this dll to InstallOptions.dll. But remember, if you
use mixed Modern UI with these commands below, you'll have to call like you would
for the normal InstallOptions.dll. Both dlls calling are similar. If you do this
above, you can see instructions from
Modern UI documentation. However, I don't garantee that Modern UI will work
correctly with this plugin.
Step 2: Extract the INI File
First, you have to extract the INI files for the dialogs in the
.onInit function:
Function .onInit
InitPluginsDir
File /oname=$PLUGINSDIR\test.ini test.ini
FunctionEnd
Step 3: Call the DLL
You can call InstallOptionsEx in a page function, check the
NSIS documentation for
information about the page system. Example:
Page custom SetCustom ValidateCustom
The InstallOptionsEx DLL has three functions:
dialog "ini_file"
Creates the dialog immediately. Parameters:
"ini_file"
Specifies the location where the INI file that will be used by
the plugin to create the dialog is. This can be:
Relative path from the current plugin location. The path has to be without "." or "..". (i.e. "test.ini" = "$PLUGINSDIR\test.ini")
Relative path from the current installer location. The path has to be with "." or "..". (i.e. ".\test.ini" = "$EXEDIR\test.ini")
Absolute path. (i.e. "C:\test.ini")
Default Value: No default value.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
initDialog "ini_file"
Creates the dialog in memory and doesn't show it. Parameters:
"ini_file"
Specifies the location where the INI file that will be used by
the plugin to create the dialog is. This can be:
Relative path from the current plugin location. The path has to be without "." or "..". (i.e. "test.ini" = "$PLUGINSDIR\test.ini")
Relative path from the current installer location. The path has to be with "." or "..". (i.e. ".\test.ini" = "$EXEDIR\test.ini")
Absolute path. (i.e. "C:\test.ini")
Default Value: No default value.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
show
Shows a previously dialog created in memory by the DLL function "initDialog".
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1
Usually, you only need to use the dialog function:
Function SetCustom ;FunctionName defined with Page command
;Display the InstallOptionsEx dialog
Push $R0
InstallOptionsEx::dialog $PLUGINSDIR\test.ini
Pop $R0
FunctionEnd
Note that the page can be updated by changing anything on the INI file.
That means, you should secure it in difficult places so that no one can
change it when you're not expecting it. But this will probably change in future
versions.
Step 4: Get the Output
To get the input of the user, read the State value of a Field
using ReadINIStr:
ReadINIStr $R0 "$PLUGINSDIR\test.ini" "Field 1" "State"
Note:
Some InstallOptionsEx values are escaped to allow characters to
be used that are not normally valid in INI file values. For new lines,
carriage return and line feed, the affected values are:
- The ValidateText field.
- The Text value of Label, Link, DropList, ComboBox
and DropList fields.
- The State value of Text fields that have the MULTILINE flag.
- The ListItems value of Button fields that have the DIRREQUEST flag.
Every value of a value name is affected by variables
which are updated to the time the page was reserved or showed
without reserving.
Escape Characters and Variables:
- $0-$9, $R0-$R9 - Variables
- \r - Carriage return (ASCII 13)
- \n - Line feed (ASCII 10)
- \t - Tab (ASCII 9)
- \\ - Back-slash
Step 5: Validate the Output
If you want to validate the input on the page, for example, you
want to check whether the user has filled in a textbox, use the
leave function of the Page command and Abort when the validation
has failed:
Function ValidateCustom
ReadINIStr $R0 "$PLUGINSDIR\test.ini" "Field 1" "State"
StrCmp $0 "" 0 +3
MessageBox MB_ICONEXCLAMATION|MB_OK "Please enter your name."
Abort
FunctionEnd
Step 6: Return Value
After you have called the DLL, InstallOptionsEx adds one string to
the stack, with one of the following values:
- success - The user has pressed the Next button
- back - The user has pressed the Back button
- cancel - The user has pressed the Cancel button
- error - An error has occurred, the dialog cannot be
displayed.
Usually, you don't need to check this value, but you still have
to remove it from the stack (have a look at the example above).
You only have to check this value if you need something really
special, such as doing something when the user pressed the Back
button.
Reserve Files
If you are using BZIP2 (solid) compression, it's important that
files which are being extracted on initialization or page functions
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 ReserveFile commands above your
sections and functions:
ReserveFile "test.ini"
ReserveFile "${NSISDIR}\Plugins\InstallOptionsEx.dll"
Versions History
IOEx DLL version 2.4.2 beta 4