InstallOptionsEx

Collapse All | Expand All | Inverse All
Introduction

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:

    Old and supported (InstallOptionsEx/InstallOptions)
    New and supported (InstallOptionsEx only)
    Old but not supported (mainly InstallOptions only)

In that documentation section, items are organized as follows:

  Section
  - Value name (Required) (Input/Output)
    - Flag OR Control Type (With Exceptions)
      - Flag ("Control Type Exceptions")

Your INI file should have this structure based on the information above:

  [Section]
  Value name=Value (or Flag(s))

Controls in that section are organized as follows, from the simplest control to the most complex:

  • Controls that don't receive any focus at all. (Label -> Animation)
  • Controls that receive mostly mouse focus. (Link -> UpDown)
  • Controls that State text can be edited manually. (Text -> IPAddress)
  • Controls that contain a customizable list of items. (DropList -> TreeView)
  • Controls that contain a non-customizable list of items. (TrackBar -> MonthCalendar)
INI File Reference Settings NumFields (Input)

The number of control elements to be displayed on the dialog window.

Default Value: None
Supported by: InstallOptions 1.0

Title
(Input)

Sets the window title bar text.

Default Value: Current title bar text.
Supported by: InstallOptions 1.1, InstallOptionsEx 2.4.1 beta 1

CancelEnabled
(Input)

Enables or disables the cancel button. If set to 1, the cancel button will be enabled. If set to 0, the cancel button will be disabled.

Default Value: 1 (Enabled).
Supported by: InstallOptions 1.2 beta, InstallOptionsEx 2.4.1 beta 1

CancelShow
(Input)

Shows or hides the cancel button. If set to 1, the cancel button will be shown. If set to 0, the cancel button will be hidden.

Default Value: 1 (Show).
Supported by: InstallOptions 1.4 beta, InstallOptionsEx 2.4.1 beta 1

BackEnabled
(Input)

Enables or disables the back button. If set to 1, the back button will be enabled. If set to 0, the back button will be disabled.

Default Value: 1 (Enabled).
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1

BackShow
(Input)

Shows or hides the back button. If set to 1, the back button will be shown. If set to 0, the back button will be hidden.

Default Value: 1 (Show).
Supported by: InstallOptionsEx 2.4.1 beta 7

NextEnabled
(Input)

Enables or disables the next button. If set to 1, the next button will be enabled. If set to 0, the next button will be disabled.

Default Value: 1 (Enabled).
Supported by: InstallOptionsEx 2.4.1 beta 7

NextShow
(Input)

Shows or hides the next button. If set to 1, the next button will be shown. If set to 0, the next button will be hidden.

Default Value: 1 (Show).
Supported by: InstallOptionsEx 2.4.1 beta 7

CancelButtonText
(Input)

Sets the cancel button text.

Default Value: Current cancel button text.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

BackButtonText
(Input)

Sets the back button text.

Default Value: Current back button text.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

NextButtonText
(Input)

Sets the next button text.

Default Value: Current next button text.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

Rect
(Input)

Sets the rectangle ID where all the controls will be created and where the boundaries are. This means that any boundary values for Left, Right, Top, Bottom INI value names for Field # INI section will be based on the top-left part of the rectangle, and limited to the right-bottom part of the rectangle.

Default Value: 1018 (Dimensions: Default UI: 233x130, Modern UI: 300x140).
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

RTL
(Input)

Specifies if the rectangle of controls will be mirrored and texts will be aligned to the right. If 1, it is true. If 0, it is false. If $(^RTL), it depends on the language of your application.

Default Value: 0 (Normal control positions, texts aligned to left).
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

TimeOut
(Input)

Specifies the time in miliseconds for the page to return, regularly, to the validation function. This time pauses when a notification is called and returned to the validation function until the "Abort" instruction is used. If the value is lesser than 10 or bigger than 2147483647 (about 25 days) (limits are for Windows), the values are ignored and the timer is not set. Default value is 0 (no timer).

Default Value: 0 (No timer).
Supported by: InstallOptionsEx 2.4.2 beta 2

State
(Output)

Specifies which control that called the validation function by control notifications, or, if 0, the page itself by common actions.

Return Values: 0 (Page), 1 or more (Field ID).
Supported by: InstallOptions 2.3, InstallOptionsEx 2.4.1 beta 1

Notify
(Output)

Specifies which page common action or control notification called the validation function. To this value be a control notification, the control has to have 1 or more notification flags.

Return Values: ONCANCEL (Cancel button activated), ONBACK (Back button activated), ONNEXT (Next button activated), ONTIMEOUT (time from TimeOut INI value name expired), activated notification flag name from the control indicated by State INI value name.
Return Values for InstallOptionsEx beta 10 and below: Activated notification flag name from the control indicated by State INI value name.
Supported by: InstallOptionsEx 2.4.1 beta 7

Field #
(where # is a sequential number starting at 1) Type (Required) (Input)

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). It has to be without sound.

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

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
(Input)

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:
  It only specifies control's text.

Default Value: None
Supported by: InstallOptions 2.3, InstallOptionsEx 2.4.1 beta 1

UpDown

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

Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

State
(Depends)

Specifies the state of the control. This is updated when the user closes the window, so you can read from it from NSIS. The input/output depends on the control type:

Icon
(Input)

Specifies the icon index number for an executable or a dll if the Text INI value is used. 0 or an empty value means that the first icon inside the file will be used. If Text is empty, it can be one of the following flags:

APPLICATION

Shows the default application icon for programs.

EXCLAMATION

Shows an icon with an exclamation mark inside a yellow triangle.

INFORMATION

Shows an icon with an exclamation mark inside a white balloon.

QUESTION

Shows an icon with a question mark inside a white balloon.

STOP

Shows an icon with the letter "X" inside a red circle.

WINLOGO

Shows a Windows icon.

For Windows XP:
  Same as APPLICATION.

If Text and State are empty, the current installer icon is used.

Default Value:
  If Text is not empty: 0 (First Icon).
  If Text is empty: "" (Installer Icon).
Supported by: InstallOptionsEx 2.4.1 beta 10

ProgressBar
(Input)

Specifies at what point the progress is.

Default Value: 0 (Start)
Supported by: InstallOptionsEx 2.4.1 beta 1

Link
(Input)

Specifies something to be executed or opened. Doesn't support parameters.

Default Value: None
Supported by: InstallOptions 2.2, InstallOptionsEx 2.4.1 beta 1

CheckBox
(Input/Output)

'0' or '1' (for unchecked or checked). When the flag 3STATE is used, '2' is the indetermined (grayed) state of the control.

For InstallOptions 2.4.1 beta 6 and below:
  '0' or '1' (for unchecked or checked) only.

Default Value: 0 (Unchecked).
Supported by: InstallOptions 1.3, InstallOptionsEx 2.4.1 beta 1

RadioButton
(Input/Output)

'0' or '1' (for unchecked or checked).

Default Value: 0 (Unchecked).
Supported by: InstallOptions 1.3, InstallOptionsEx 2.4.1 beta 1

Button
(Input)

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 InstallOptions 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
(Input/Output)

Specify the number of the option selected. NOTE: If a UpDown control has its buddy control a Text control, it will replace its state for UpDown's.

Default Value: 0 (First Number).
Supported by: InstallOptionsEx 2.4.1 beta 4

Text
(Input/Output)

String to appear.

Default Value: None
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

Password
(Input/Output)

String to appear hidden by mask characters.

Default Value: None
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

IPAddress
(Input/Output)

IP address to appear.

Default Value: 0.0.0.0.
Supported by: InstallOptionsEx 2.4.1 beta 2

HotKey
(Input/Output)

Removed due to problems internally with the dll.

For InstallOptions 2.4.1 beta 11 and below:
  String to appear (or last appeared). Each key has to start with each word first letter capitalized, except stand alone keys which have to be in lower case (like Ctrl + Alt + Shift + c). Each combination has to be separated by " + ", so the key "+" is not supported yet.

Default Value: None
Supported by: InstallOptionsEx 2.4.1 beta 1-11

DropList/ComboBox
(Input/Output)

Specifies the selected item name.

Default Value: The first item on ListItems.
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

DateTime
(Input/Output)

Specifies the date and time to show. Has to be on this format:

dd/MM/yyyy HH:mm:ss w (w = day of the week as a number -> Sunday = 0, Monday = 1...)

The separators can be:

"/", "\", "-", ":" or " ".

If you don't want to specify all those numbers, you can use bogus numbers, i.e.:

23-02-2005 00:00:00 0

Default Value: Current date and time.
Supported by: InstallOptionsEx 2.4.1 beta 3

ListBox
(Input/Output)

Specifies selected items separated by pipes ('|').

Default Value: The first item on ListItems.
Supported by: InstallOptions 1.4, InstallOptionsEx 2.4.1 beta 1

TreeView
(Input/Output)

Specifies the selected item name with all the parent items names. The structure syntax is the same as on ListItems INI value name:

  • { - Starts a new tree level. The item to the left of this character is the parent item.
  • | - Separates an item from another.
  • } - Ends a tree level.

Example:

  ListItems=MyParentItem{MyChildItem1|MyChildItem2}
  State=MyParentItem{MyChildItem2}

If CHECKBOXES is specified, it specifies the state of all items checkboxes with state flags (not item names). In this case, you have to follow the exact same structure of the items as on ListItems INI value name. Example:

  ListItems=MyParentItem{MyChildItem1|MyChildItem2}
  State=0{11|4}

Item state flags have to be joined with "bitwise OR" before writing to the INI file. Example:

  11 = 0x0B = Checked + Read-Only + Bold.

Then put it like this in the State INI value:

  State=0{11|4}

After you run the page, you can verify if one of the bits is selected by doing a "bitwise AND". There is no way to detect if the "Unchecked" state flag is used because it's 0. Instead, try to check for the "Checked" state flag.

State of checkboxes:

  • 0 or 0x00 - Checkbox is unchecked (ignored by parent items except when there is no child items that have checkboxes).
  • 1 or 0x01 - Checkbox is checked (same note as above).
  • 2 or 0x02 - Checkbox is read-only (same note as above).
  • 4 or 0x04 - No checkbox.
  • 8 or 0x08 - Bold item.
  • 16 or 0x10 - Expand item (only for parent items).
  • 32 or 0x20 - Swap between partially checked state to unchecked state (reserved, only for parent items). Checkbox is unchecked.
  • 33 or 0x21 - Swap between partially checked state to unchecked state (reserved, only for parent items). Checkbox is partially checked.
  • 64 or 0x40 - Swap between partially checked state to checked state (reserved, only for parent items). Checkbox is partially checked.
  • 65 or 0x41 - Swap between partially checked state to checked state (reserved, only for parent items). Checkbox is checked.
  • 128 or 0x80 - Stay on partially checked state (reserved, only for parent items). Checkbox is partially checked.
  • 129 or 0x81 - Stay on partially checked state (reserved, only for parent items). Checkbox is partially checked.

Default Value: None
Supported by: InstallOptionsEx 2.4.2 beta 1

TrackBar
(Input/Output)

Specifies a number to an item to be selected.

Default Value: 0 (First Item)
Supported by: InstallOptionsEx 2.4.1 beta 2

MonthCalendar
(Input/Output)

Specifies the date to show. Has to be on this format:

dd/MM/yyyy

Separators can be:

"/", "\", "-", ":" or " ".

Default Value: Current date.
Supported by: InstallOptionsEx 2.4.1 beta 3

Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

ListItems
(Input)

Generally specify a list of items to display in a control. The input/output depends on the control type:

Button

When DIRREQUEST flag is used, this specifies the text above the TreeView control of directories on "Browse For Folder" dialog.

Default Value: None
Supported by: InstallOptionsEx 2.4.1 beta 7

DropList/ComboBox/ListBox

Specifies a list of items to display. This is a single line of text with each item separated by a pipe character '|'.

Default Value: None
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

TreeView

Specifies a list of items to display. This is a single line of text with this structure syntax:

  • { - Starts a new tree level. The item to the left of this character is the parent item.
  • | - Separates an item from another.
  • } - Ends a tree level.

Default Value: None
Supported by: InstallOptionsEx 2.4.2 beta 1

Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

MaxLen
(Input)

Causes validation on the selected control to limit the maximum length of text or options. If the user specifies more text or options than this, a message box will appear and the dialog will not be dismissed. This can change depending on control type:

Animation

Specifies the ending frame of the animation. If 0, it is the first frame of the animation and makes it not to be played. If -1, it is the last frame of the animation. If this is the same as specified on MinLen INI value name, it will only show that frame without playing the animation.

Default Value: -1 (Last frame of the animation).
Supported by: InstallOptionsEx 2.4.1 beta 1

ProgressBar

Specifies the maximum progress limit. Maximum is 65535.

Default Value: 100.
Supported by: InstallOptionsEx 2.4.1 beta 1

Text/ComboBox

Specifies the maximum length of text. Maximum is 32768.

Default Value: 32768.
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1

TrackBar

Specifies the maximum number of items.

Default Value: 100.
Supported by: InstallOptionsEx 2.4.1 beta 2

Default Value: None
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1

MinLen
(Input)

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
(Input)

If the control fails the test for MinLen or MaxLen, a MessageBox will be displayed with this text. If blank, specifies that a MessageBox shouldn't appear, but it still returns back to the page.

Default Value: MessageBox doesn't appear.
Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1

Left/Right/Top/Bottom/Height/Width
(Required) (Input)

Specify the position on the dialog where this control appears. Width and/or Height can be specified instead of Right and/or Bottom. All sizes should be set in dialog units. To get the right dimensions for your controls, design your dialog using a resource editor and copy the dimensions to the INI file. Specify negative coordinates to specify the distance from the right or bottom edge (except for Height and Width). This can change depending on control type:

DropList/ComboBox

The Bottom value is the maximum size of the pop-up list being displayed. All other times, the ComboBox is automatically sized to be one element tall. If you have trouble where you can not see the combobox drop-down, then check the Bottom value and ensure it is large enough. A rough guide for the height required is the number of items in the list multiplied by 8, plus 20.

Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

Filter
(Input)

Specifies the filter to be used by Button or Link controls that use OPEN_FILEREQUEST or SAVE_FILEREQUEST flags. This is constructed by putting pairs of entries together, each item separated by a | character. The first value in each pair is the text to display for the filter. The second value is the pattern to use to match files.
For example, you might specify:
Filter=Text Files|*.txt|Programs|*.exe;*.com|All Files|*.*

For InstallOptions and InstallOptions 2.4.1 beta 3 and below:
  Specifies the filter to be used by FileRequest controls.

Default Value: All Files|*.* (All files).
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

Root
(Input)

Used by Button or Link controls that use DIRREQUEST flag to specify the root directory of the search. This limits the search to a particular directory on the system.

For InstallOptions and InstallOptions 2.4.1 beta 3 and below:
  Used by DirRequest controls.

Default Value: User's "My Computer".
Supported by: InstallOptions 1.4, InstallOptionsEx 2.4.1 beta 1

Flags
(Input)

This specifies additional flags for the display of different controls. Each value should be separated by a | character. These flags are separated by control types:

All
(With Exceptions) NOTIFY (Except Label, Bitmap, Icon, ProgressBar and GroupBox controls)

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
(Except Bitmap, Icon and Animation controls)

Causes a control to be disabled.

Supported by: InstallOptions 2.0, InstallOptionsEx 2.4.1 beta 1

GROUP
(Except Label, Bitmap, Icon, Animation, ProgressBar and GroupBox controls)

Add this flag to the first control of a group of controls to group them. Grouping controls allows you to create multiple groups of radio button and makes keyboard navigation using arrow keys easier.

Supported by: InstallOptions 2.0, InstallOptionsEx 2.4.1 beta 1

NOTABSTOP
(Except Label, Bitmap, Icon, Animation, ProgressBar and GroupBox controls)

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
(With Exceptions) READONLY

Prevents the user from changing the check state of the control.

Supported by: InstallOptionsEx 2.4.1 beta 13

RIGHT

Removed due to Align INI value name implementation.

For InstallOptionsEx 2.4.1 beta 13 and below:
  Reallocates the control text to the left of the selection box/circle.

Supported by: InstallOptions 1.3, InstallOptionsEx 2.4.1 beta 1-13

3STATE
(Except RadioButton controls)

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
(With Exceptions) 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
(Except Password controls)

Same as using the control Password.

Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1

DropList/ComboBox
(With Exceptions) VSCROLL

Shows a disabled vertical scroll bar when there is no need for one.

Supported by: InstallOptionsEx 2.4.1 beta 13

DROPLIST
(Except DropList controls)

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

TreeView CHECKBOXES

Enables check boxes for items in a tree-view control. A check box is displayed only if an image is associated with the item by using Text INI value name. See State INI value name for more information regarding the selection of items.

Internet Explorer 3.0 or above required.
Supported by: InstallOptionsEx 2.4.2 beta 1

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
(Input)

Causes InstallOptionsEx to call your NSIS custom page validation/leave function whenever the control's selection changes depending on your choice of notification flags.

Your validation/leave function can read the State value accompanied with Notify value from the "Settings" section to determine which control caused the notification resp. what notification did it receive of those you chose in the field section Notify value, if any, and perform some appropriate action followed by an Abort instruction (to tell NSIS to return back to the page).

Each notification flag should be separated with a | character, and you should be careful not to put any spaces around the | character.

Except GroupBox/ProgressBar/UpDown ONCLICK
(Only Label, Icon, Bitmap, Link, CheckBox, RadioButton, Button, TreeView)

Notifies when the user clicks the control. If used with ONDBLCLICK, only single clicks will be considered from this notification flag.

For InstallOptionsEx 2.4.2 beta 1 and below:
  Notifies when the user single-clicks the control.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONRCLICK
(Only TreeView)

Notifies when the user right-clicks the control.

Supported by: InstallOptionsEx 2.4.2 beta 2

ONDBLCLICK
(Only Label, Icon, Bitmap, Link, CheckBox, RadioButton, Button, ListBox, TreeView)

Notifies when the user double-clicks the control.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONSTART
(Only Animation)

Notifies when the control starts to play an animation. An exception is when it starts for the first time. Not tested.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONSTOP
(Only Animation)

Notifies when the control stops to play an animation.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONSETFOCUS
(Except Label, Icon, Bitmap, Animation, MonthCalendar)

Notifies when the control gains focus.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONKILLFOCUS
(Except Label, Icon, Bitmap, Animation, MonthCalendar)

Notifies when the control loses focus.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONTEXTCHANGE
(Only Text, Password, IPAddress, ComboBox)

Notifies when the user changes the state of the text on the control (i.e. when writing) before the change appears on screen.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONTEXTUPDATE
(Only Text, Password, IPAddress, ComboBox)

Notifies when the user changes the state of the text on the control (i.e. when writing) after the change appears on screen.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONTEXTVSCROLL
(Only Text, Password)

Notifies when the user clicks on the vertical scroll bar, or when the user scrolls using the keyboard or mouse wheel.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONTEXTTRUNCATE
(Only Text, Password)

Notifies when the user tries to enter more characters than the limit estipulated by MaxLen INI value name. This does part of the job of ValidateText INI value name.

Supported by: InstallOptionsEx 2.4.1 beta 7

ONLISTOPEN
(Only DropList, ComboBox, DateTime)

Notifies when a control receives a click on the arrow head on the right side of the control (or left if the dialog is in RTL mode).

Supported by: InstallOptionsEx 2.4.1 beta 7

ONLISTCLOSE
(Only DropList, ComboBox, DateTime)

Notifies when the user closes the list of items shown by the arrow head on the right side of the control (or left if the dialog is in RTL mode).

Supported by: InstallOptionsEx 2.4.1 beta 7

Supported by: InstallOptionsEx 2.4.2 beta 7

Align
(Input)

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
(Input)

This specifies flags for the vertical alignment of controls. Only one of the flags below can be used:

TOP

Self-explanatory.

Supported by: InstallOptionsEx 2.4.2 beta 1

CENTER

Self-explanatory.

Supported by: InstallOptionsEx 2.4.2 beta 1

BOTTOM

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:

TrackBar

Positions the ticks to the custom alignment; to the top, both ends (CENTER), or bottom margin of the control.

Supports: TOP, CENTER, BOTTOM flags.
Default Value: BOTTOM.
Supported by: InstallOptionsEx 2.4.2 beta 1

Supported by: InstallOptionsEx 2.4.2 beta 1

TxtAlign
(Input)

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
(Input)

This specifies flags for the vertical alignment of text on controls. Only one of the flags below can be used:

TOP

Self-explanatory.

Supported by: InstallOptionsEx 2.4.2 beta 1

CENTER

Self-explanatory.

Supported by: InstallOptionsEx 2.4.2 beta 1

BOTTOM

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:

Button

Positions the text to the custom aligment; to the top, center, or bottom margin of the control.

Supports: LEFT, CENTER, RIGHT flags.
Default Value: CENTER.
Supported by: InstallOptionsEx 2.4.2 beta 1

Supported by: InstallOptionsEx 2.4.2 beta 1

TxtColor
(Input) Label/Text

Specifies the foreground color of the text. Format: 0xBBRRGG (hexadecimal).

Default Value: System's text default color for "Window".
Supported by: InstallOptionsEx 2.4.1 beta 6

ProgressBar

Specifies the color of the indicator bar. This can only be used when not using Windows themes. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Selected Items".
Supported by: InstallOptionsEx 2.4.1 beta 6

Link

Specifies the foreground color of the text. Format: 0xBBRRGG (hexadecimal).

Default Value: 0xFF0000 (Blue).
Supported by: InstallOptionsEx 2.2, InstallOptionsEx 2.4.1 beta 1

DropList/ComboBox/ListBox

Specifies the foreground color of the text when an item is not selected. Format: 0xBBRRGG (hexadecimal).

Default Value: System's text default color for "Window".
Supported by: InstallOptionsEx 2.4.1 beta 6

DateTime/MonthCalendar

Specifies the foreground color of the normal days text in the calendar of the control. Format: 0xBBRRGG (hexadecimal).

Default Value: System's text default color for "ToolTip".
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptions 2.2, InstallOptionsEx 2.4.1 beta 1

BgColor
(Input) Label/Text/Link

Specifies the background color of the control. Format: 0xBBRRGG (hexadecimal).

Default Value: Window's current background color.
Supported by: InstallOptionsEx 2.4.1 beta 6

ProgressBar

Specifies the color of the background part of the bar. This can only be used when not using Windows themes. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Window".
Supported by: InstallOptionsEx 2.4.1 beta 6

DropList/ComboBox/ListBox

Specifies the background color of the text when an item is not selected. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Window".
Supported by: InstallOptionsEx 2.4.1 beta 6

DateTime/MonthCalendar

Specifies the background color of the month calendar. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "ToolTip".
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

SelTxtColor
(Input) DropList/ComboBox/ListBox

Specifies the foreground color of the text when an item is selected. Format: 0xBBRRGG (hexadecimal).

Default Value: System's text default color for "Selected Item".
Supported by: InstallOptionsEx 2.4.1 beta 6

DateTime/MonthCalendar

Specifies the foreground color of the selected text and title text of the calendar. Format: 0xBBRRGG (hexadecimal).

Default Value: System's text default color for "Selected Items".
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

SelBgColor
(Input) DropList/ComboBox/ListBox

Specifies the background color of the text when an item is selected. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Selected Items".
Supported by: InstallOptionsEx 2.4.1 beta 6

DateTime/MonthCalendar

Specifies the background color of the month calendar selected text and title text. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Selected Items".
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

DisTxtColor
(Input) Label/Text

Specifies the foreground color of the text when the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: System's grayed text color (not configurable).
Supported by: InstallOptionsEx 2.4.1 beta 7

Link

Specifies the foreground color of the text when the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: 0x640000 (Dark Blue)
Supported by: InstallOptionsEx 2.4.1 beta 7

DropList/ComboBox/ListBox

Specifies the foreground color of the text when an item is not selected and the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: System's grayed text color (not configurable).
Supported by: InstallOptionsEx 2.4.1 beta 7

Supported by: InstallOptionsEx 2.4.1 beta 7

DisBgColor
(Input) Label/Text/Link

Specifies the background color of the text when the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: Window's current background color.
Supported by: InstallOptionsEx 2.4.1 beta 7

DropList/ComboBox

Specifies the background color of the text when an item is not selected and the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: System's grayed background color (not configurable).
Supported by: InstallOptionsEx 2.4.1 beta 7

ListBox

Specifies the background color of the text when an item is not selected and the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Window".
Supported by: InstallOptionsEx 2.4.1 beta 7

Supported by: InstallOptionsEx 2.4.1 beta 7

DisSelTxtColor
(Input) ListBox

Specifies the foreground color of the text when an item is selected and the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: 0xFFFFFF (White).
Supported by: InstallOptionsEx 2.4.1 beta 7

Supported by: InstallOptionsEx 2.4.1 beta 7

DisSelBgColor
(Input) ListBox

Specifies the background color of the text when an item is selected and the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: 0xAAAAAA (Light Gray).
Supported by: InstallOptionsEx 2.4.1 beta 7

Supported by: InstallOptionsEx 2.4.1 beta 7

MonthOutColor
(Input) MonthCalendar

Specifies the background color of the outside part of the month calendar. This is only used when you specify a bigger control size than the calendar itself. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Window".
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

MonthTrailingTxtColor
(Input) MonthCalendar

Specifies the foreground text color of the days from the last or next month being shown. Format: 0xBBRRGG (hexadecimal).

Default Value: System's grayed text color (not configurable).
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

TxtShwColor
(Input) Label/Link

Specifies the foreground text color of the shadow. Format: 0xBBRRGG (hexadecimal).

Default Value: No shadow.
Supported by: InstallOptionsEx 2.4.1 beta 9

DropList/ComboBox/ListBox

Specifies the foreground text color of the shadow when an item is not selected. Format: 0xBBRRGG (hexadecimal).

Default Value: No shadow.
Supported by: InstallOptionsEx 2.4.1 beta 9

Supported by: InstallOptionsEx 2.4.1 beta 9

SelTxtShwColor
(Input) DropList/ComboBox/ListBox

Specifies the foreground text color of the shadow when an item is selected. Format: 0xBBRRGG (hexadecimal).

Default Value: No shadow.
Supported by: InstallOptionsEx 2.4.1 beta 9

Supported by: InstallOptionsEx 2.4.1 beta 9

DisTxtShwColor
(Input) Label

Specifies the foreground text color of the shadow when the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "Window".
Supported by: InstallOptionsEx 2.4.1 beta 9

Link

Specifies the foreground text color of the shadow when the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: 0xFFFFFF (White).
Supported by: InstallOptionsEx 2.4.1 beta 9

DropList/ComboBox/ListBox

Specifies the foreground text color of the shadow when an item is not selected and when the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: No shadow.
Supported by: InstallOptionsEx 2.4.1 beta 9

Supported by: InstallOptionsEx 2.4.1 beta 9

DisSelTxtShwColor
(Input) ListBox

Specifies the foreground text color of the shadow when an item is selected and when the control is disabled. Format: 0xBBRRGG (hexadecimal).

Default Value: No shadow.
Supported by: InstallOptionsEx 2.4.1 beta 9

Supported by: InstallOptionsEx 2.4.1 beta 9

FontName
(Input) All Controls (Except Icon, Bitmap, Animation, ProgressBar, TrackBar)

Sets the control font. It has to be a font name <= 32 characters.

Default Value: Window's current font.
Supported by: InstallOptionsEx 2.4.1 beta 7

Supported by: InstallOptionsEx 2.4.1 beta 7

FontHeight
(Input) All Controls (Except Icon, Bitmap, Animation, ProgressBar, TrackBar)

Sets the control font height in points.

Default Value: Window's current font.
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

FontWidth
(Input) All Controls (Except Icon, Bitmap, Animation, ProgressBar, TrackBar)

Sets the control font average character width in pixels.

Default Value: Window's current font.
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

ListItemsHeight
(Input) DropList/ComboBox/ListBox

Specifies the height of each item contained into the control in pixels.

Default Value: Window's current font.
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

FontBold
(Input) All Controls (Except Icon, Bitmap, Animation, ProgressBar, TrackBar)

If set to 1, this makes the text to become bold.

Default Value: Window's current font.
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

FontItalic
(Input) All Controls (Except Icon, Bitmap, Animation, ProgressBar, TrackBar)

If set to 1, this makes the text to become italic.

Default Value: Window's current font.
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

FontUnderline
(Input) All Controls (Except Icon, Bitmap, Animation, ProgressBar, TrackBar)

If set to 1, this makes the text to have an underline.

Default Value: Window's current font.
Supported by: InstallOptionsEx 2.4.1 beta 6

Supported by: InstallOptionsEx 2.4.1 beta 6

ToolTipText
(Input)

Determines the text of a control tooltip. It is required to make show a tooltip.

Default Value: None
Supported by: InstallOptionsEx 2.4.1 beta 8

ToolTipFlags
(Input)

This specifies additional flags specially for a control tooltip. Each tooltip flag should be separated with a | character:

NOALWAYSTIP

Makes the tooltip to do not show up when the window doesn't have focus.

BALLOON

Makes the tooltip to look like a balloon with a steam pointing to the control. Enables the use of ToolTipTitle and ToolTipIcon.

Internet Explorer 5.0 or above required.

NOANIMATE

Removes the tooltip sliding animation.

Internet Explorer 5.0 or above required.

NOFADE

Removes the tooltip fade animation.

Internet Explorer 5.0 or above required.

NOPREFIX

Prevents the system from stripping the ampersand (&) character from a string.

Default Value: None
Supported by: InstallOptionsEx 2.4.1 beta 8

ToolTipWidth
(Input)

Determines the maximum width of the tooltip. If the text passes from this limit it is automatically broken into multiple lines. This limit can be surpassed if a word is bigger than the maximum width indicated here.

Default Value: 300.
Supported by: InstallOptionsEx 2.4.1 beta 8

ToolTipTxtColor
(Input)

Specifies the foreground color of the tooltip text and the tooltip border. Format: 0xBBRRGG (hexadecimal).

Default Value: System's text default color for "ToolTip".
Supported by: InstallOptionsEx 2.4.1 beta 8

ToolTipBgColor
(Input)

Specifies the background color of the tooltip. Format: 0xBBRRGG (hexadecimal).

Default Value: System's background default color for "ToolTip".
Supported by: InstallOptionsEx 2.4.1 beta 8

ToolTipIcon
(Input)

Specifies the icon of a control tooltip that has the BALLOON flag. The value can be one of the following or an empty value meaning no icon:

INFO

Shows an icon with an exclamation mark inside a white balloon.

WARNING

Shows an icon with an exclamation mark inside a yellow triangle.

ERROR

Shows an icon with the letter "X" inside a red circle.

Default Value: "" (No icon).
Supported by: InstallOptionsEx 2.4.1 beta 8

ToolTipTitle
(Input)

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

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 - Creates the dialog immediately
  • initDialog - Creates the dialog in memory, does not show it
  • show - Shows a dialog created in memory

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 2
(5/7/2005)
  • Added TimeOut INI value name for "Settings" section. This enables the page to return after the specified time. When notifications are activated, the timer pauses until "Abort" is called on page's validation function. Also, it continues to repeat until the page is closed.
  • Added ONRCLICK for TreeView controls.
  • Fixed ONCLICK notification flag: Only captured single-clicks when ONDBLCLICK was not set.
  • Added the missing Notify INI value name on the documentation.
  • IOEx DLL version 2.4.2 beta 1
    (3/22/2005)
  • Added new control type: TreeView.
  • Major Fix: Password controls without a value for Text INI value name gave a fatal error.
  • Added new flags to Flags INI value name: CHECKBOXES for TreeView controls, TRANSPARENT for Animation controls (second implementation).
  • Removed flags from Flags INI value name: RIGHT for CheckBox and RadioButton controls, LEFT for UpDown controls.
  • Added new INI value names for "Field #" INI sections: Align, VAlign, TxtAlign,and TxtVAlign.
  • Removed ellipsis support for strings that pass control border boundaries on Label, Link, DropList, ComboBox and ListBox controls.
  • Added tab character support for Label and Link controls.
  • Added carriage return, new line and tab characters support for DropList, ComboBox and ListBox controls.
  • Adjusted rectangles of Label and Link controls so that the focus rectangle don't cut part of strings (only Link controls) and have at least 1 pixel of background color on the left and right of the control.
  • Right-To-Left dialogs have the UpDown control to invert its position in relation to its buddy control.
  • Forgot to mention about NOWORDWRAP flag for Text and Password controls in the documentation.
  • MaxLen INI value name for TrackBar controls didn't calculate correctly the maximum number of items. Now if you specify 10, there will be 10 items.
  • Aplied patch #1164307.
  • IOEx DLL version 2.4.1 beta 13
    (1/22/2005)
  • Added VSCROLL for ComboBox and DropList controls, and READONLY flag for CheckBox and RadioButton controls.
  • Text on Button controls is automatically wrapped if there has no sufficient space.
  • Label, Bitmap and Icon controls can have Link controls underneath them so the "hand" cursor shows when pointing to those.
  • The text of DateTime controls is now aligned to the right when RTL is activated.
  • ListBox controls new feature: multiple vertical columns (see Text INI value name).
  • Added "Collapse/Expand/Invert All" options to documentation.
  • Optimized the documentation.
  • Removed "page update from INI file changes" feature.
  • Added TRANSPARENT flag for Bitmap controls.
  • IOEx DLL version 2.4.1 beta 12
    (12/28/2004)
  • Added the ability to update the page when showing it. (There are still bugs to be fixed here.)
  • DLL size reduced to 13.5kb. Increased speed to load pages by fixing internal memory leaks.
  • Flags INI value name optimizations:
    • Added MULTISELECT flag for Button controls.
    • Fixed FILE_EXPLORER flag: had effect similar to HSCROLL flag.
    • HSCROLL and VSCROLL flags support for Button controls was removed.
  • New documentation (which will be improved more in future versions).
  • Removed HotKey control, for optimization purposes.
  • Removed a ComboBox feature of setting images for each list item. It already had lots of problems since its inclusion.
  • Fixed Icon controls: Didn't use the right icon size when told to do so.
  • Icon controls additionally support cursors (*.cur) and animated cursors (*.ani).
  • Fixed DateTime and MonthCalendar controls: Not enough space on buffers, changed date and time format.
  • Made the focus rectangle on Link controls to occupy the control rectangle border, not the text rectangle border.
  • New lines work again on Link controls.
  • Fixed: Link controls didn't execute State INI value and instead it showed a browse dialog.
  • Fixed documentation: MonthCalendar controls can have a State INI value.
  • IOEx DLL version 2.4.1 beta 11
    (11/07/2004)
  • Flags INI value name optimizations:
    • Removed the "not useful" BACK_RECT, NOTODAYCIRCLE, TRANSPARENT and CENTER flags. The second flag effect is implemented with NOTODAY and the last flag is implemented to the Animation control normal functionality.
    • Removed VERTICAL flag. Use VSCROLL instead.
    • Renamed EXTENDEDSELCT to EXTENDEDSELECT.
    • Renamed FILEREQUEST to OPEN_FILEREQUEST and REQ_SAVE to SAVE_FILEREQUEST and removed its requirement of the OPEN_FILEREQUEST flag.
  • Fixed ComboBox and DropList controls: Disabled controls now have their text on the right color by default.
  • Fixed ListBox controls: Focus boundary rectangle wasn't being drawn.
  • Font INI value names are now supportable by all controls.
  • Fixed Link controls: They are underlined by default except when FontUnderline=0 is set.
  • Changed importance level of Height and Width. Now if Right is specified, Width is ignored, and if Bottom is specified, Height is ignored.
  • Fixed "Back" button appearance: It should appear only after the first page.
  • Changed State and Notify INI value names from Settings INI section:
  • Added BackShow, NextEnabled and NextShow for "Settings" section.
  • Fixed the control extension beyond the rectangle height and width addition of the last version removed.
  • Fixed Text controls: "black" color was being set even when you didn't.
  • Fixed ListBox controls: didn't appear as they were disabled.
  • Added missing features to the documentation which last version's didn't mention.
  • Added FontName for Label, Link, ListBox, ComboBox, DropList, Text and Password controls, DisBgColor, DisTxtColor, DisSelBgColor and DisSelTxtColor for ListBox control.
  • ListItems for Button controls w/ DIRREQUEST flag is the text which appears above the Tree-View control of directories.
  • Added a new flag to CheckBox controls, the old and famous "3STATE" flag that allows you to set additionally an indetermined (or grayed) state.
  • IOEx DLL version 2.4.1 beta 6
    (7/25/2004)
  • Added a wide range of commands for setting initial color and font formatting without using NSIS commands.
  • Fixed the control extention beyond the rectangle height and width. This makes the control to resize itself when necessary.
  • Added file verification before setting a bitmap or icon to DropList, ComboBox and Button controls.
  • Added Height and Width value names.
  • Fixed a stupid bug that made some controls flags to be set when you did not specify them.
  • Fixed another stupid bug that made ProgresBar controls to do not show their indicator bar correctly.
  • Added one laking information about the stand alone keys for HotKey controls.
  • Fixed other minor bugs.
  • Added ellipsis style for all controls that support ownerdraw style.
  • IOEx DLL version 2.4.1 beta 5
    (6/27/2004)
  • Added HotKey control.
  • Added support of NOTIFY flag for MonthCalendar, DateTime, UpDown and HotKey controls.
  • Added information to controls and options their minimum supportable OS.
  • C style escape characters restored again.
  • Fixed problems with new controls about the TabStop not working.
  • IOEx DLL version 2.4.1 beta 4
    (6/11/2004)
  • Added UpDown control.
  • Removed FileRequest and DirRequest controls. Use Text and Button controls instead.
  • Added FILEREQUEST and DIRREQUEST flags for Button controls and LEFT, HORIZONTAL and WRAP flags for UpDown controls.
  • NSIS $\n, $\r and $\t imported to remove the need for conversions between NSIS characters and plugin's.
  • IOEx DLL version 2.4.1 beta 3
    (6/7/2004)
  • Added DateTime and MonthCalendar controls.
  • Added UPDOWN flag for DateTime controls and NOTODAY, NOTODAYCIRCLE and WEEKNUMBERS flags for MonthCalendar controls.
  • IOEx DLL version 2.4.1 beta 2
    (5/31/2004)
  • Added TrackBar and IPAddress controls.
  • Added ability of Button controls of supporting an image or icon.
  • Added BACK_RECT, TOOLTIPS and NO_TICKS flags for TrackBar controls and BITMAP and ICON flags for Button controls.
  • Added support of NOTIFY flag for IPAddress control.
  • Removed NOAUTOPLAY flag for Animation control.
  • IOEx DLL version 2.4.1 beta 1
    (5/24/2004)
  • Removed NumFields from INI File "Settings" section.
  • Added Animation and ProgressBar controls.
  • Added ability of ComboBox and DropList controls of supporting images for each item in their list boxes.
  • Added TRANSPARENT, CENTER and NOAUTOPLAY flags for Animation controls and SMOOTH and VERTICAL flags for ProgressBar controls.
  • Added support of NOTIFY flag for Text, Password and ComboBox controls.
  • IO DLL version 2.4.1
    (5/8/2004)
  • Bitmaps are now automatically centered
  • Fixed a bug which prevented enabling the next button from the leave function of InstallOptions pages
  • Fixed a rare freeze
  • IO DLL version 2.4
    (1/4/2004)
  • Initial focus is set in "initDialog" making it possible to override it from NSIS prior to calling "show"
  • When initial focus is to a Text field InstallOptions now follows standard Windows behaviour by having the text selected
  • Label and other static fields no longer have State= written to the INI file when leaving the dialog
  • NOTIFY flag can now be used with Link fields (State should be omitted in this case)
  • Likewise, State can now be used with Button fields (behaves the same as with Link fields)
  • NOTIFY flag can also now be used with ListBox and DropList fields to have NSIS notified when the selection changes
  • Meaning of RIGHT flag is now reversed in right-to-left language mode
  • HSCROLL and VSCROLL flags are no longer restricted to Text fields
  • Various Link field fixes
  • IO DLL version 2.3
    (12/4/2003)
  • Added new control type "Button"
  • Added new flag "NOTIFY"
  • Added new flag "NOWORDWRAP" for multi-line text boxes
  • Reduced size down to 12K
  • Better RTL support
  • IO DLL version 2.2
    (6/10/2003)
  • Added New control type LINK
  • \r\n converts to newline in Multiline edit box
  • Support for multiline edit box
  • Better tab order in DirRequest and FileRequest
  • Added READONLY option to text box
  • Minor fixes
  • IO DLL version 2.1
    (3/15/2003)
  • \r\n converts to newline in both label Text and ValidateText
  • New browse dialog style (modern)
  • Word wrapping for check boxes and radio buttons
  • No ugly border for edit fields under XP
  • Scroll bar for list boxes
  • Works with SetStaticBkColor
  • DISABLED dir and file request fields now disable the browse button too
  • No more STATE value for labels
  • Minor fixes
  • IO DLL version 2.0
    (1/4/2003)
  • Supports custom font and DPI settings (by Joost Verburg)
  • INI files should contain dialog units now, no pixels (by Joost Verburg)
  • RESIZETOFIT flag for Bitmap control (by Amir Szekely)
  • New documentation (by Joost Verburg)
  • New GROUP/NOTABSTOP/DISABLED flags
  • Added Rect INI value name.
  • IO DLL version 1.7 beta
    (11/2/2002)
  • Added initDialog and show DLL functions.
  • Removed CancelConfirm, CancelConfirmCaption, CancelConfirmFlags INI value names.
  • Renamed BackDisabled INI value name to BackEnabled. IO DLL version 1.6 beta (9/30/2002)
  • CancelConfirmIcon becomes CancelConfirmFlags and can now take the other common MessageBox flags
  • IO DLL version 1.5 beta (9/26/2002)
  • Made close [x] button behave like Cancel (thanks brainsucker)
  • IO DLL version 1.4 beta
    (9/4/2002)
  • Added Icon and Bitmap controls (by Amir Szekely)
  • IO DLL version 1.3 beta
    (8/15/2002)
  • Added CancelShow (by ORTIM)
  • Added pixel transformation for widgets (by ORTIM)
  • IO DLL version 1.2 beta
    (7/31/2002)
  • Added CancelEnabled (by ORTIM)
  • Added CancelConfirmCaption and CancelConfirmIcon (by Amir Szekely)
  • IO DLL version 1.1 beta
    (7/22/2002)
  • Font is now taken from the main NSIS window (by Amir Szekely)
  • IO DLL version 1.0 beta
    (12/16/2001)
  • Moved to DLL, no longer need parentwnd ini writing
  • Tons of changes - no longer fully compatible (see source for a big list)
  • removed support for silent installers (it seems the old version would bring up it's own dialog)
  • IO DLL version 1.4
    (11/18/2001)
  • Added Listbox controls.
  • Added MULTISELECT flag.
  • Made the HWND list for the parent window controls dynamically allocated. This prevents a crash if NSIS ever gets more than 150 controls on it's main window.
  • The TEXT property of DirRequest control can be used to specify an initial directory. The current directory is automatically selected when clicking the browse button of the DirRequest control.
  • Added ROOT property to DirRequest which can be used to set the root directory (mostly due to felfert)
  • Edit controls will now auto scroll (thanks felfert)
  • Fixed a problem where the window wouldn't draw properly on some systems (thanks felfert)
  • IO DLL version 1.3
    (11/03/2001)
  • Got rid of the call to RedrawWindow() because it's no longer needed with the WS_CLIPCHILDREN flag for NSIS.
  • Removed a few hardcoded limits of buffer sizes
  • Added Checkbox and RadioButton controls
  • Added RIGHT and CHECKED flags
  • IO DLL version 1.2.2
    (10/30/2001)
  • Additional size reductions. Further reduced the size down to 8k.
  • The text parameter to a combobox can now be used to specify the initial value
  • Changed from InvalidateRect() to RedrawWindow() to force a redraw after a browse dialog
  • On startup, set the flags of the NSIS window to include WS_CLIPCHILDREN. Otherwise, our controls don't get drawn right.
  • IO DLL version 1.2.1
    (10/28/2001)
  • Bug fix. ControlID for the caption and the OK button were reused by the first two controls. (Thanks Schultz)
  • IO DLL version 1.2.0.1
    (10/28/2001)
  • 8.5kb from 44kb. heh. (by Justin Frankel)
  • IO DLL version 1.2
    (10/28/2001)
  • Still 44k
  • Added the "FileRequest" and "DirRequest" control types (thanks Schultz)
  • Added "MinLen", "MaxLen", and "ValidateText" properties to fields
  • Added "Flags" as a way to specify additional parameters for controls
  • Few more changes to the documentation
  • Cleaned the code in a few places...still trying to make it smaller
  • IO DLL version 1.1
    (10/27/2001)
  • Added the "Title" option (thanks Alex)
  • Moved the OK button so it is in the same location as the buttons on the main NSIS window (thanks Alex)
  • Pressing "ENTER" will now automatically select the OK button (thanks Alex)
  • Slightly improved the documentation
  • IO DLL version 1.0.1
    (10/25/2001)
  • Fixed the SetFocus loop so it exits after the first control like it was supposed to
  • Added the license to the documentation
  • IO DLL version 1.0
    (10/25/2001)
  • Barely qualifies as a distribution.
  • Credits

    Original IO version by Michael Bishop
    IO DLL version by Nullsoft, Inc.
    IO DLL version 2 by Amir Szekely, ORTIM, Joost Verburg
    IOEx DLL (changed from original IO 2) by Diego Pedroso

    Documentation for InstallOptions 2 by Joost Verburg
    InstallOptionsEx Documentation (changed from InstallOptions') by Diego Pedroso

    License
    Original IO version Copyright © 2001 Michael Bishop
    IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM
    IO DLL version 2 Copyright © 2003-2005 Amir Szekely, Joost Verburg, Dave Laundon
    IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso
    
    This software is provided 'as-is', without any express or implied
    warranty. In no event will the authors be held liable for any damages
    arising from the use of this software.
    
    Permission is granted to anyone to use this software for any purpose,
    including commercial applications, and to alter it and redistribute
    it freely, subject to the following restrictions:
    
    1. The origin of this software must not be misrepresented;
       you must not claim that you wrote the original software.
       If you use this software in a product, an acknowledgment in the
       product documentation would be appreciated but is not required.
    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.