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

This section configures the page as a whole. The following are the value names supported by this section:

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) or 0 (Disabled) if the page is the first to appear.
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) or 0 (Hide) if the page is the first to appear.
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

Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

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

A field is a control template to be created by the plugin when the dialog is created. The following are the value names supported by this section:

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

    Animation
    (Input)

    Specifies the number of times the animation is repeated from the "MinLen" to the "MaxLen" point. If more than 0, the animation will repeat that number of times. If 0, the animation doesn't get played when the dialog is shown. If -1, the number of loops is unlimited.

    Default Value: -1 (Infinite number of loops).
    Supported by: InstallOptionsEx 2.4.1 beta 10

    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/Output)

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

    Specifies the selected number option. Ignored if RefField value name is specified.

    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 names separated by pipes ('|').

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

    ListView
    (Input/Output)

    Specifies selected items names separated by pipes ("|").

    If CHECKBOXES is specified, this specifies the state of all items (not subitems) checkboxes with state flags (not item names). The items are separated by pipes ("|").

    Example:

      ListItems=Item1{SubItem1ofItem1|SubItem2ofItem1}Item2|Item3
      State=0|1|3

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

      3 = 0x0B = Checked + Read-Only.

    Then put it like this in the State INI value:

      State=0|1|3

    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.
    • 1 or 0x01 - Checkbox is checked.
    • 2 or 0x02 - Checkbox is read-only.
    • 4 or 0x04 - No checkbox (not totally supported yet).

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 3

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

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

    Button
    (Input/Output)

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

    When COLORREQUEST flag is used, this specifies a list of 16 custom colors to display. This is a single line of text with each item separated by a pipe character '|'. If there are non-filled colors, they default to white (0xFFFFFF). If there are more than the limit, the extra items are not used. Format: 0xBBRRGG (hexadecimal).

    Default Value: For flag COLORREQUEST: White (0xFFFFFF) for non-filled colors.
    Supported by: InstallOptionsEx 2.4.1 beta 7

    DropList/ComboBox/ListBox
    (Input)

    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

    ListView
    (Input)

    Specifies a list of item and subitem names to display. Subitems are items that appear when the flag REPORT_VIEW is specified as the additional information for a corresponding item. This is a single line of text with this structure syntax:

    • { - Starts a new group level. Items inside this level are subitems of that item on the left of this character. Only 1 sublevel is allowed and supported correctly.
    • | - Separates an item or subitem from another.
    • } - Ends a group level.

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 3

    TreeView
    (Input)

    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

    RefField
    (Input)

    Specifies the field of reference in which information is used from another control. This can change from control to control:

    Button

    When used with OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST or COLORREQUEST flags, this specifies to which field number the information used is inputted from (for COLORREQUEST flag) and outputted to (for all flags). Default is the control itself, where the State value is used.

    Default Value: "" (the control itself).
    Supported by: InstallOptionsEx 2.4.2 beta 3

    UpDown

    Specifies to which field number the information used is inputted from and outputted to. Default is the control itself, where the State value is used.

    Default Value: "" (the control itself).
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 3

    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 control 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

    Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

    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

    Filter
    (Input) Link/Button

    Specifies the filter to be used when using the 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:
      Used only by FileRequest controls.

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

    Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

    Root
    (Input) Link/Button

    Specifies the doot directory of the search when DIRREQUEST flag is specified. This limits the search to a particular directory on the system.

    For InstallOptions:
      Used only 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

    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

    LIST_VIEW
    (Except TreeView controls)

    Shows items in list 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. If the next item doesn't fit between the last item on the column and the control's bottom boundary, it goes to the next 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

    ICON_VIEW
    (Except TreeView controls)

    Shows items in icon view mode. This mode shows items in "Z" mode. That means: the first item starts at the upper-left corner of the control, then the next item comes on the right of it. If the next item doesn't fit between the last item on the row and the control's right boundary, it goes to the next row. This mode uses images from the LargeImageList for the items images. An item image goes above the label.

    Supported by: InstallOptionsEx 2.4.2 beta 3

    SMALLICON_VIEW
    (Except TreeView controls)

    Shows items in small icon view mode. This mode shows items in "Z" mode. That means: the first item starts at the upper-left corner of the control, then the next item comes on the right of it. If the next item doesn't fit between the last item on the row and the control's right boundary, it goes to the next row. 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

    REPORT_VIEW
    (Except TreeView controls)

    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
    (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 ONCLICK
    (Only Label, Icon, Bitmap, Link, CheckBox, RadioButton, Button, ListView, 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 ListView/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, ListView, TreeView)

    Notifies when the user double-clicks the control.

    Supported by: InstallOptionsEx 2.4.1 beta 7

    ONRDBLCLICK
    (Only ListView)

    Notifies when the user right-double-clicks the control.

    Supported by: InstallOptionsEx 2.4.2 beta 3

    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, UpDown, MonthCalendar)

    Notifies when the control gains focus.

    Supported by: InstallOptionsEx 2.4.1 beta 7

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

    Notifies when the control loses focus.

    Supported by: InstallOptionsEx 2.4.1 beta 7

    ONSELCHANGE
    (Only UpDown, IPAddress, DropList, ComboBox, DateTime, ListBox, ListView, TreeView, TrackBar, MonthCalendar)

    Notifies when the user changes the state of the control.

    Supported by: InstallOptionsEx 2.4.1 beta 7

    ONTEXTCHANGE
    (Only Text, Password, IPAddress, DropList, 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, DropList, 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

    HeaderItems
    (Input)

    Generally specifies a list of items separated by pipes ("|") to display as column names. The input depends on the control type:

    ListView

    Specifies a list of items separated by pipes ("|") to display as column names when REPORT_VIEW flag is used. If there is more columns than necessary, they will be ignored. If there is less, empty column names will be assigned.

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Supported by: InstallOptionsEx 2.4.2 beta 3

    HeaderItemsWidth
    (Input)

    Generally specifies the widths for each column. Each width has to be separated by pipes ("|"). The input depends on the control type:

    ListView

    Specifies the widths in pixels for each column when REPORT_VIEW flag is used. Each width has to be separated by pipes ("|"). If there is more widths than necessary, they will be ignored. If there is less, default is 100 pixels.

    Default Value: 100 pixels for each column with no width assigned.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Supported by: InstallOptionsEx 2.4.2 beta 3

    HeaderItemsAlign
    (Input)

    Generally specifies an alignment for each column. Each alignment has to be separated by pipes ("|"). The input depends on the control type:

    ListView

    Specifies the horizontal alignments (LEFT or RIGHT) for each column when REPORT_VIEW flag is used. Each aligment has to be separated by pipes ("|"). The first column cannot have a custom alignment (OS limitation). If there is more aligments than necessary, they will be ignored. If there is less, default is LEFT. RTL INI value name from "Settings" INI section inverts this value.

    Default Value: LEFT.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Supported by: InstallOptionsEx 2.4.2 beta 3

    StateImageList
    (Input)

    Generally specifies a list of images for the state of an item, but this could change depending on the control type:

    ListView

    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 (Not used);
    • 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". This type of image is displayed when:

    • ICON_VIEW flag is not specified and SmallImageList value name is specified: on the left of an item icon;
    • ICON_VIEW flag is not specified and SmallImageList value name is not specified: on the left of an item label;
    • ICON_VIEW flag is specified: behind the top-left corner of an item icon.

    Required by flags: CHECKBOXES.
    Default Value: None.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    TreeView

    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 or focus rectangle;
    • 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". This type of image is displayed on the left of an item's label.

    Required by flags: CHECKBOXES.
    Default Value: None.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Supported by: InstallOptionsEx 2.4.2 beta 3

    SmallImageList
    (Input)

    Generally specifies a list of 16x16px images for items, but this could change depending on the control type:

    ListView

    If a flag for any view except for ICON_VIEW flag is specified, this specifies the path to a bitmap (.bmp) containing 16x16 pixels images for all items. Mask color for transparency is #FF00FF (format #RRGGBB). This type of image is displayed between the state image and the label of an item.

    Default Value: None.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Supported by: InstallOptionsEx 2.4.2 beta 3

    LargeImageList
    (Input)

    Generally specifies a list of 32x32px images for items, but this could change depending on the control type:

    ListView

    If ICON_VIEW flag is specified, specifies the path to a bitmap (.bmp) containing 32x32 pixels large state images for all items. Mask color for transparency is #FF00FF (format #RRGGBB). This type of image is displayed above an item label.

    Default Value: None.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Supported by: InstallOptionsEx 2.4.2 beta 3

    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: InstallOptions 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

    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

    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 3
    (7/2/2005)
  • Added new value names for "Field #" section: RefField, StateImageList, SmallImageList, LargeImageList, HeaderItems, HeaderItemsAlign, HeaderWidth.
  • Added new flags for ListView controls: LIST_VIEW, ICON_VIEW, SMALLICON_VIEW, and REPORT_VIEW and for Link and Button controls: COLORREQUEST, FONTREQUEST.
  • Older INI's braking notice: All values supported by OPEN_FILEREQUEST, SAVE_FILEREQUEST and DIRREQUEST flags for Link and Button controls on State value name and UpDown controls on Text value name were transfered to RefField value name.
  • Now Link and Button controls with OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST, COLORREQUEST, FONTREQUEST flags output state values to State value name.
  • UpDown controls now detect automatically the text from its buddy control. State value is not used anymore when the buddy control is set.
  • Older INI's braking notice: All values for TreeView controls on Text value name ware transfered to StateImageList value name.
  • Fixed automatic Custom Draw setting for Label, DropList, ComboBox, and ListBox. Custom Draw setting will only be set if you specify one of the color commands values. Because of this, when this setting is disabled, the colors will be as the Windows' default, and some features like multiline for those controls (except Label) will be disabled. The good news is that this fixes problems when setting text to those controls or change some colors for now. To use custom draw in controls with default color values, use empty values like on "TxtColor=".
  • Added forgotten details about Animation controls support for the State INI value, types of animation supported, TreeView controls support for the StateImageList INI value, and the ONSELCHANGE notification flag.
  • Fixed problems with notifications that executed when other handled or non-handled notifications were activated.
  • Fixed checkbox state changes on TreeView controls when the space key was pressed.
  • Other small bugfixes.
  • 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.