InstallOptionsEx

2.4.5 beta 2

Collapse All | Expand All | Invert All
Introduction

InstallOptions and InstallOptionsEx are NSIS plugins which allow you to create custom pages for NSIS installers, to prompt the user for extra information. InstallOptionsEx is an expanded version of InstallOptions containing many new features, with size drawback. As it is not in the main distribution, InstallOptionsEx aims for experiments towards new GUI features in order to achieve long term goals that InstallOptions couldn't achive.

InstallOptionsEx creates dialogs that can be displayed inside the NSIS window. The controls inside the dialog are translated from a resource file - a file with .ini extention with contents conforming standards from this documentation.

NSIS 2 has a new standard page system which allows the plugin to add custom pages to your installer without being bothered by complex "next" and "previous" page functions from the previous NSIS version. It has also a newer and improved plugin system allowing automatic extraction and plugin deletion when a plugin is used. The temporary plugins folder, used by default by this plugin, is deleted automatically - resource files can be stored there for automatic deletion as you wish.

This version of InstallOptionsEx has been designed for NSIS 2, thus supporting customized user interfaces and custom font and DPI settings.

This documentation uses the "expand and collapse" effect. This makes information to be easily organized and accessed by only showing revelant items in a category. Clicking in a category name will open up or close down greater details towards the category. It is also possible to click on "Collapse All", "Expand All" and "Invert All" links located in the top of this document to open or close categories.

Page INI File Reference

This category contains the complete resource file reference. For greater readibility for those who used InstallOptions priorily, the reference uses colors representing the changes between InstallOptionsEx and InstallOptions, as stated below:

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

The resource file structure needs to conform with the basic Windows Registry file format for the proper translation, as shown below:

  [Section]
  Key=Value
  Key2=Value2

  [Section2]
  Key=Value
  Key2=Value2

The following is a list of sections supported by the plugin:

Settings

This section configures both the dialog and the window as a whole. The following are the keys supported by this section:

NumFields (Input)

The last control (field) number of a dialog to be translated by the plugin. This is an option from InstallOptions supported only for compatibility reasons.

Default Value: Last field number (all fields will be created).
Supported since: InstallOptions 1.0

Title
(Input)

Sets the window title bar text.

Default Value: Current window 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 page boundaries are. This means that any boundary values for Left, Right, Top, Bottom INI keys for Field # INI sections will be based on the top-left part 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. Some controls might not have the text aligned correctly because of Windows limitations on most of the international versions of Windows.

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

MUnit
(Input)

Specifies which measurement unit should the plug-in use for interpreting the controls positions. If 1, pixels are used. If 0, dialog units are used.

Default Value: 0 (Dialog units).
Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

BufferSize
(Input)

Specifies the size in characters of all buffers used by the plug-in used in writing and reading operations done to the page INI file.

Default Value: 8192 characters, including the terminating character.
Supported by: InstallOptionsEx 2.4.2 beta 5

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 called the validation function using control notifications, or, if the value is 0, the page itself by page notifications.

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 or control notification called the validation function. For this value to recognize 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 key expired), activated notification flag name from the control indicated by State INI key.
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 keys supported by this section:

Type
(Required) (Input)

Specifies the control type. One of the following can be used to determine a control type:

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 -> VLine)
  • Controls that receive mostly mouse focus. (Link -> UpDown)
  • Controls that State text can be edited manually. (Text -> RichText)
  • Controls that contain a customizable list of items. (DropList -> TreeView)
  • Controls that contain a non-customizable list of items. (TrackBar -> MonthCalendar)
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

Image

Can display the following:

  • an icon file (.ico);
  • a cursor file (.cur);
  • an animated cursor file (.ani);
  • an icon from an executable file (.exe);
  • an icon from a dll file (.dll);
  • a bitmap file (.bmp);
  • an Audio Video Interleave file without sound with no or with run-length of 8 bits (BI_RLE8) encoding compression (.avi).
  • a Graphics Interchange Format file (uses OLE) (.gif);
  • a Joint Photographic Experts Group file (uses OLE) (.jpg, .jpeg);
  • The plugin will always try to use the best image appearance for the user's display.

    Supported by: InstallOptionsEx 2.4.2 beta 5

    Icon

    Integrated with Image controls but still supported for compatibility.

    Supported by: InstallOptions 1.4 beta, InstallOptionsEx 2.4.1 beta 1 - 2.4.2 beta 4

    Bitmap

    Integrated with Image controls but still supported for compatibility.

    Supported by: InstallOptions 1.4 beta, InstallOptionsEx 2.4.1 beta 1 - 2.4.2 beta 4

    Animation

    Integrated with Image controls but still supported for compatibility.

    Supported by: InstallOptionsEx 2.4.1 beta 1 - 2.4.2 beta 4

    ProgressBar

    Displays a bar that shows progress. To make use of the ability to show progress, use the TimeOut INI key for Settings INI section.

    Supported by: InstallOptionsEx 2.4.1 beta 1

    HLine

    Displays a horizontal line to separate controls.

    Supported by: InstallOptions 2.47, InstallOptionsEx 2.4.5 beta 2

    VLine

    Displays a vertical line to separate controls.

    Supported by: InstallOptions 2.47, InstallOptionsEx 2.4.5 beta 2

    Link

    Displays a static hot text that, when the mouse is passed over its area, the mouse cursor turns into a hand.

    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 that can be used in the same way as the "Link" control above.

    Supported by: InstallOptions 2.3, InstallOptionsEx 2.4.1 beta 1

    UpDown

    Displays a pair of arrow buttons used to increment or decrement a number in a Text, Password, RichText 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 the user 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 asterisk "*" characters by default.

    Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

    IPAddress

    Displays an edit box used specially for IP address input.

    Supported by: InstallOptionsEx 2.4.1 beta 2

    FileRequest

    Use Text and Button controls instead.

    Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1-4 only

    DirRequest

    Use Text and Button controls instead.

    Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1-4 only

    RichText

    Displays an edit box with the contents of a file specified and with advanced editor options. This control supports the following types of files:

  • a text file (.txt);
  • a rich text file (.rtf).
  • The following versions of this control are used by this plug-in:
  • 2.0 - (Recommended) Included in all Windows versions except Windows 95. Compatible in all versions of Windows.
  • 1.0 - Included in all Windows versions except Windows 2000, and XP.
  • Notes:

    Supported by: InstallOptionsEx 2.4.2 beta 5

    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. Images are respectively from SmallImageList and LargeImageList keys.

    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

    Image

    Specifies the path to the image. The type of image will be determined by its file extension, as described in Type key for Field # section.

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 5

    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

    Text/Password/RichText

    When the PASSWORD flag is specified, except for Password controls, this specifies the password mask character. The displayed control characters are immediately hidden by the character specified.

    Default Value: *
    Supported by: InstallOptionsEx 2.4.1 beta 10

    DateTime

    Specifies the format to show the State value. 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. Example: dd/MM/yyyy.
    Supported by: InstallOptionsEx 2.4.1 beta 3

    ListBox

    Specifies the width of the vertical columns inside the control in pixels. Specifying 0 makes the control to have only one column occupying the entire control.

    Default Value: 0 (1 column occupying entire control).
    Supported by: InstallOptionsEx 2.4.1 beta 13

    Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

    State
    (Depends)

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

    Image
    (Input)

    If the image is an icon from an executable or dll file, this specifies the icon index number of the desired icon inside the executable or dll file. 0 or an empty value means that the first icon inside the file will be used.

    If the image is an animation, this specifies the number of times the animation is repeated from the MinLen to the MaxLen value 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.

    If the file indicated by Text's value doesn't exist, this specifies a flag which determines a default icon, cursor or bitmap from the operationing system. This can be one of the following:

    Icons (32x32 pixels resources):

    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.

    Cursors (32x32 pixels resources):

    APPSTARTING

    Shows the default cursor generally shaped like an small arrow pointing between north/north-west with an hourglass that appears when an application in the background is occupied.

    ARROW

    Shows the default cursor generally shaped like an arrow pointing between north/north-west for usual use.

    CROSS

    Shows the default cursor generally shaped like a cross and used by some graphic programs to select a group of pixels more accuratelly than using the default cursor.

    HAND

    Shows the default cursor generally shaped like a hand with a finger pointing to north and used by some applications to give more attention to the location pointed. The plug-in always shows this cursor when the cursor is over a Link control.

    HELP

    Shows the default cursor generally shaped like an small arrow pointing between north/north-west with a question mark used by some applications for giving more information about an item.

    IBEAM

    Shows the default cursor generally shaped like a roman numeral "I" used by text supporting applications to distinguish the position of the cursor between 2 letters, so their selection can be easier.

    NO

    Shows the default cursor generally shaped like a circle with a north-west to south-east diagonal line used by some applications to inform the user that the cursor current position is not allowed for a determined mouse operation.

    SIZEALL

    Shows the default cursor generally shaped like a cross with arrow heads on all the line ends used for moving objects from one place to another.

    SIZENESW

    Shows the default cursor generally shaped like a north-east to south-west diagonal line with arrow heads on the line ends for resizing objects.

    SIZENS

    Shows the default cursor generally shaped like a north to south vertical line with arrow heads on the line ends for resizing objects.

    SIZENWSE

    Shows the default cursor generally shaped like a north-west to south-east diagonal line with arrow heads on the line ends for resizing objects.

    SIZEWE

    Shows the default cursor generally shaped like a west to east horizontal line with arrow heads on the line ends for resizing objects.

    UPARROW

    Shows the default cursor generally shaped like a vertical line with an arrow head on the top for selecting columns of stacked objects.

    WAIT

    Shows the default cursor generally shaped like a hourglass that appears when the program on the foreground is occupied.

    Bitmaps (resources with varied sizes):

    BTNCORNERS

    Shows the default bitmap that shows the corners of a button (?).

    SIZE

    Shows the default bitmap generally shaped like 3 south-west to north-east diagonal lines, usually accompanied by the SIZENWSE cursor that shows that you can resize a button.

    CHECK

    Shows the default bitmap generally shaped like a check mark that shows that an option is enabled or a process has been completed.

    CHECKBOXES

    Shows the default bitmap for the checkboxes and radiobuttons for all controls.

    CLOSE

    Shows the default bitmap for the default application icons in 16x16 each (?).

    COMBO

    Shows the default bitmap generally shaped like an arrow without its tail pointing south that shows that an option has sub-options or a process has sub-processes.

    DNARROW

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing south that is used by scroll bars or for the future ScrollBar control.

    DNARROW

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing south that is used by scroll bars to allow the user to scroll down a window or control.

    DNARROWD

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing south that is used by scroll bars to allow the user to scroll down a window or control. This shows DNARROW's pressed state.

    DNARROWI

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing south that is used by scroll bars to allow the user to scroll down a window or control. This shows DNARROW's disabled state.

    LFARROW

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing left that is used by scroll bars to allow the user to scroll left a window or control.

    LFARROWD

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing left that is used by scroll bars to allow the user to scroll left a window or control. This shows LFARROW's pressed state.

    LFARROWI

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing left that is used by scroll bars to allow the user to scroll left a window or control. This shows LFARROW's disabled state.

    MNARROW

    Shows the default bitmap generally shaped like an arrow without its tail pointing right that is used to show that options or processes are going to be completed or that show that there are sub-options or sub-processes that are not being shown.

    REDUCE

    Shows the default bitmap generally shaped like a button with a small horizontal line that is used to show the window can be minimized to the taskbar.

    REDUCED

    Shows the default bitmap generally shaped like a button with a small horizontal line that is used to show the window can be minimized to the taskbar. This shows REDUCE's pressed state.

    REDUCED

    Shows the default bitmap generally shaped like a button with a small horizontal line that is used to show the window can be minimized to the taskbar. This shows REDUCE's pressed state.

    RESTORE

    Shows the default bitmap generally shaped like a button with the drawing of two small windows that is used to show the window can be restored to its original size.

    RESTORED

    Shows the default bitmap generally shaped like a button with the drawing of two small windows that is used to show the window can be restored to its original size. This shows RESTORE's pressed state.

    RGARROW

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing right that is used by scroll bars to allow the user to scroll right a window or control.

    RGARROWD

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing right that is used by scroll bars to allow the user to scroll right a window or control. This shows LFARROW's pressed state.

    RGARROWI

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing right that is used by scroll bars to allow the user to scroll right a window or control. This shows LFARROW's disabled state.

    SIZE

    Shows the default bitmap generally shaped like 3 south-west to north-east diagonal lines, usually accompanied by the SIZENWSE cursor that shows that you can resize a window.

    UPARROW

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing up that is used by scroll bars to allow the user to scroll up a window or control.

    UPARROWD

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing up that is used by scroll bars to allow the user to scroll up a window or control. This shows UPARROW's pressed state.

    UPARROWI

    Shows the default bitmap generally shaped like a button with an arrow without its tail pointing up that is used by scroll bars to allow the user to scroll up a window or control. This shows UPARROW's disabled state.

    ZOOM

    Shows the default bitmap generally shaped like a button with the drawing of a small window that is used to show the window can be maximized to its maximum size.

    ZOOMD

    Shows the default bitmap generally shaped like a button with the drawing of a small window that is used to show the window can be maximized to its maximum size. This shows ZOOM's pressed state.

    Default Values:
    If the image is of type icon from an executable or dll file: 0 (the first icon).
    If the image is of type animation: -1 (unlimited animation loops).
    If the file indicated by Text's value doesn't exist: Program default icon.
    Supported by: InstallOptionsEx 2.4.2 beta 5

    ProgressBar
    (Input)

    Specifies at what point the progress is.

    Default Value: 0 (Start)
    Supported by: 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.

    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

    Link/Button
    (Input/Output)

    Specifies something to be executed or opened. Doesn't support parameters. If one of the flags names ended in "REQUEST" 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 key:

    OPEN_FILEREQUEST

    Specifies a file to be selected in the "Open" dialog by default. If MULTISELECT flag is specified, files are enclosed inside double quotes (") and separated by a space character ( ). If the dialog is canceled, the default value is the previous specified file as state.

    Default Value: No file is selected, but the folder location depends on OS version.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    SAVE_FILEREQUEST

    Specifies a file to be selected in the "Save" dialog by default. If the dialog is canceled, the default value is the previous specified file as state.

    Default Value: No file is selected, but the folder location depends on OS version.
    Supported by: InstallOptionsEx 2.4.2 beta 3

    DIRREQUEST

    Specifies the folder to select in the "Browse" dialog. If the dialog is canceled, the default value is the previous folder specified as state.

    Default Value: Desktop (same as $DESKTOP variable on NSIS).
    Supported by: InstallOptionsEx 2.4.2 beta 3

    COLORREQUEST

    Specifies the color to appear or selected in "Color" dialog by default. Format: 0xBBRRGG (hexadecimal). If the dialog is canceled, the default value is the previous string specified as state.

    Default Value: None, string is treated as black (0x000000).
    Supported by: InstallOptionsEx 2.4.2 beta 3

    FONTREQUEST

    Specifies the font to appear or selected in "Font" dialog by default. The format bases on the actual values of font keys and a color key, separated by "|" characters in this order:

    "FontName|FontHeight|FontBold|FontItalic|FontUnderline|FontStrikeOut|TxtColor".

    If the dialog is canceled, the default value is the previous string specified as state.

    Default Value: Default font (only if nothing is specified).
    Supported by: InstallOptionsEx 2.4.2 beta 3

    Default Value: None
    Supported by: InstallOptions 2.2 (for Link), InstallOptions 2.3 (for button), InstallOptionsEx 2.4.1 beta 1

    UpDown
    (Input/Output)

    Specifies the selected number option. Ignored if RefFields key 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

    RichText
    (Input)

    Specifies a file to be opened for both reading and writing operations. The type of text file will be determined by its actual contents.

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 5

    DropList
    (Input/Output)

    Specifies the selected item name.

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

    ComboBox
    (Input/Output)

    Specifies the selected item name. If the item specified does not exist, then the string will be only used in the text box part of the control.

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

    DateTime
    (Input/Output)

    Specifies the date and time to show. Has to be in 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 in a partially checked state (reserved, only for parent items). Checkbox is partially checked.
    • 129 or 0x81 - Stay in a 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 an item index to be selected. If 0, the first item is selected. If -1, the last item is 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 in 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 specifies a list of items to display in a control. The input/output depends on the control type:

    Link/Button
    (Input/Output)

    When DIRREQUEST flag is used, this specifies the text above the TreeView control in the "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 colors than the limit, the extra items are ignored. 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/Output)

    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.

    This value only returns when EDITLABELS flag is set.

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 3

    TreeView
    (Input/Output)

    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.

    This value only returns when EDITLABELS flag is set.

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 1

    Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

    RefFields
    (Input)

    Specifies the field used as a reference to process input and output operations. This specification can change from control to control:

    Link/Button

    When used with OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST or COLORREQUEST flags, this specifies the field used as a reference to process input (for COLORREQUEST flag) and output operations (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 the field used as a reference to process input and output operations. Default is the control itself, where the State INI 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 may appear and the dialog will not be dismissed. This specification can change depending on control type:

    Image

    If the image is of type animation, this specifies the ending frame. 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 key, 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 5

    ProgressBar

    Specifies the maximum progress limit. Maximum is 65535.

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

    UpDown

    Specifies the maximum item number. The default and real maximum values are 2147483646. The minimum value is -2147483646.

    Default Value: 2147483646 (maximum value).
    Supported by: InstallOptionsEx 2.4.1 beta 1

    Text/Password/RichText/ComboBox

    Specifies the maximum length of text. There are specific limits for different control types:

    • For Text and Password controls without MULTILINE flag and ComboBox controls: 32KB of characters.
    • For Text and Password controls with MULTILINE flag: 64KB of characters.
    • For RichText controls: 4GB of characters.
    BufferSize INI value for Settings INI section only truncates characters when input or output operations are completed. If the value is 0, then no text will be allowed in the control.

    Default Value: Buffer size or the text limit, whichever is smaller.
    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 may appear and the dialog will not be dismissed. The specification can change depending on control type:

    Image

    If the image is of type animation, this specifies the starting frame. 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 key, 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 5

    UpDown

    Specifies the minimum item number. The default and real minimum values are -2147483646. The maximum value is 2147483646.

    Default Value: -2147483646 (minimum value).
    Supported by: InstallOptionsEx 2.4.1 beta 1

    Text/Password/ComboBox/RichText

    Specifies the minimum length of text. Maximum value is described in the MaxLen INI key description. 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

    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

    There is a different meaning of the Bottom value in different Windows versions. Bottom value equals:

  • Win9x-Win2k: Maximum size of the pop-up list + the actual control size.
  • WinXP: Maximum size of the pop-up list only. 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/TreeView

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

    Default Value: 15 pixels.
    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: InstallOptionsEx 2.4.1 beta 1/i>

    Supported by: InstallOptions 1.0, InstallOptionsEx 2.4.1 beta 1

    Root
    (Input) Link/Button

    Specifies the root 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: InstallOptionsEx 2.4.1 beta 1

    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 InstallOptionsEx 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 Image controls)

    Causes a control to be disabled.

    Supported by: InstallOptions 2.0, InstallOptionsEx 2.4.1 beta 1

    FOCUS
    (Except Label, Image, ProgressBar and GroupBox controls)

    Sets focus on the specified control, instead of the first focusable control. If more than one field is specified with this flag, only the first one will receive focus.

    Supported by: InstallOptions 2.45, InstallOptionsEx 2.4.5 beta 1

    GROUP
    (Except Label, Image, ProgressBar and GroupBox controls)

    Add this flag to the first control of a group of controls to group their tabulation. Grouping controls allows you to create multiple tabulation groups, making easier the keyboard navigation using arrow keys.

    Supported by: InstallOptions 2.0, InstallOptionsEx 2.4.1 beta 1

    NOTABSTOP
    (Except Label, Image, 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

    Image RESIZETOFIT

    For all types of image, except animation. This 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

    If the image is not of type icon or cursor, it 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 images with more than 256 colors. If the image is of type icon, the transparency is automatically applied; adding this flag would only add another layer of transparency.

    Supported by: InstallOptions 2.4.2, InstallOptionsEx 2.4.1 beta 13

    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

    CheckBox/RadioButton
    (With Exceptions) READONLY

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

    Supported by: InstallOptionsEx 2.4.1 beta 13

    3STATE
    (Except RadioButton controls)

    Makes the control to have an additional "not determined" 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

    Link/Button OPEN_FILEREQUEST

    Makes the control to display a common dialog requiring a file for input to open.

    Required: A Notify key flag.
    Supported by: InstallOptionsEx 2.4.1 beta 11

    SAVE_FILEREQUEST

    Makes the control to display a common dialog requiring a file for input to save on.

    Required: A Notify key flag.
    Supported by: InstallOptionsEx 2.4.1 beta 11

    REQ_SAVE
    (Only Button)

    Renamed to SAVE_FILEREQUEST.

    Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 4

    DIRREQUEST

    Makes the control to display a common dialog requiring a directory for input.

    Required: A Notify key flag.
    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
    (Only Button)

    Makes the control to show a bitmap instead of text. ICON flag disables this flag.

    Supported by: InstallOptionsEx 2.4.1 beta 2

    ICON
    (Only Button)

    Makes the control to show an icon instead of text.

    Supported by: InstallOptionsEx 2.4.1 beta 2

    UpDown HSCROLL

    Makes the arrow heads of the control to point left and right instead of up and down.

    Supported by: InstallOptionsEx 2.4.1 beta 11

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

    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

    VSCROLL

    Shows a vertical scroll bar.

    Supported by: InstallOptions 1.2, InstallOptionsEx 2.4.1 beta 1

    PASSWORD
    (Except Password controls)

    Same as using the control Password when used with a Text control. This flag also works for RichText controls, but there is no other control equivalent to the combination of RichText control and PASSWORD flag.

    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, but kept for compatibility purposes.

    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 key. See State INI key for more information regarding the selection of items.

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

    EDITLABELS

    Enables the edition of ListItems items in the control by selecting the item first and then clicking over the label. It's doesn't yet return values

    Supported by: InstallOptionsEx 2.4.2 beta 3

    MULTISELECT
    (Except TreeView controls)

    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

    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 key. 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 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

    MonthCalendar NOTODAY

    Makes the control to do not display the today's date at the bottom of the control and its red circle.

    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.

    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 RichText controls only: This notification flag notifies when the user clicks a link in a document.

    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 GroupBox, ProgressBar)

    Notifies when the control gains focus.

    Supported by: InstallOptionsEx 2.4.1 beta 7

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

    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) after 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) before the change appears on screen.

    Supported by: InstallOptionsEx 2.4.1 beta 7

    ONTEXTSELCHANGE
    (Only RichText)

    Notifies when the user changes the state of the text selection on the control.

    Supported by: InstallOptionsEx 2.4.2 beta 5

    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 key. This does part of the job of ValidateText INI key.

    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

    Default Value: None
    Supported by: InstallOptionsEx 2.4.2 beta 7

    NotifyCursor
    (Input)

    Specifies the cursor to show when the mouse is over a control with the ONCLICK notification flag. The list is the same as mentioned in the cursor resources into State key for Image controls.

    For RichText controls only: This doesn't work.

    Default Value: ARROW (Standard arrow cursor).
    Default Value for Link controls only: HAND (Hand shaped cursor).
    Supported by: InstallOptionsEx 2.4.2 beta 4

    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 key 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 key is specified: on the left of an item icon;
    • ICON_VIEW flag is not specified and SmallImageList key 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:

    CheckBox/RadioButton

    Positions the button to the custom aligment; left or right of the text. RTL INI key 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 key is not used. RTL INI key 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 key is specified. RTL INI key 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 key is not specified.

    Supports: LEFT, CENTER, RIGHT flags.
    Required flag: VSCROLL from Flags INI key.
    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 key 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 key 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 key 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 key from "Settings" INI section inverts this value.

    Windows 95, Windows NT 4.0 and earlier require: MULTILINE flag from Flags INI key.
    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 key 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/Password

    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/ListView/TreeView

    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/ListView/TreeView

    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

    ReadOnlyTxtColor
    (Input) Text/Password

    Specifies the foreground color of the text when the control has the read-only flag set. Format: 0xBBRRGG (hexadecimal).

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

    Supported by: InstallOptionsEx 2.4.1 beta 6

    ReadOnlyBgColor
    (Input) Text/Password/RichText

    Specifies the background color of the text when the control has the read-only flag set. 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

    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 16 by 16 pixels icon resources or an empty value meaning no icon:

    INFORMATION

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

    EXCLAMATION

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

    STOP

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

    Default Value: "" (No icon).
    Supported by: InstallOptionsEx 2.4.2 beta 5

    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

    HWND
    (Output)

    After initDialog returns, this will contain the HWND of the control created by this field. It can be used instead of FindWindow and GetDlgItem.

    Supported by: InstallOptions 2.4.4, InstallOptionsEx 2.4.5 beta 1

    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

    setFocus
    "HWND"

    Set the focus on the specified control in parameter but prefer to use the FOCUS flag if you can.
    This function was designed to be employed in your leave script functions (when the control is already shown).

    Supported by: InstallOptionsEx 2.4.5 beta 2

    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, line feed and back-slash, the affected values are:

    • The ValidateText field.
    • The Text value of Label, Link, DropList, ComboBox DropList and ListView (except Tab character) fields.
    • The State value of Text fields that have the MULTILINE flag.
    • The ListItems value of Button fields that have the DIRREQUEST flag.
    For "\|", the affected values are:
    • All list based values that don't use numbers alone of ListBox, DropList, ComboBox, ListView and TreeView controls.
    For "\{" and "\}", the affected values are:
    • All list based values that don't use numbers alone of ListView and TreeView controls.

    Every value of a key 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
    • \| - Pipe
    • \{ - Start curly bracket
    • \} - End curly bracket
    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.5 beta 2
    (XX/yyy/2007) I thank Scott (alias sheik) for his help in the correction of the bugs in this version.
  • Added: setFocus dll function: Set the focus on the specified control in parameter. It was designed to be used in your leave script functions. Prefer to use the FOCUS flag if you can.
  • Added: New control type VLine and HLine (IO patch #1683189).
  • Fixed: If more than one notify flags is used for a control, any action was notified.
  • Fixed: VisualStudio 6 errors and warning (In particular, the fopen and sscanf functions are used by default instead of fopen_s and sscanf_s except if you define USE_SECURE_FUNCTIONS in the compilation options (in VisualStudio 2005 only)).
  • Fixed: Groupbox and Link controls colors problems.
  • Fixed: A filter key problem for button using the OPEN_FILEREQUEST and the SAVE_FILEREQUEST flags, it did not cut the string in items.
  • Fixed: A problem in the DIRREQUEST that doesn't go to the folder indicated in the RefFields State or in its State key.
  • Fixed: The Notify=ONCLICK and Notify=ONDBLCLICK didn't work with the Link control.
  • Fixed: Applied IO Patch that kill some compiler warnings under Linux and mingw32.
  • Fixed: Use installer's name for message boxes (IO patch #1661677).
  • Link and Button can be used in the same way. It was not cleary indicated in this documentation.
  • The Notify=ONCLICK is not necessary any more for a link or a button using OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST, FONTREQUEST and COLORREQUEST flags to show the dialog. As for if the State key containing something to be executed or opened. Thus the leave function is not called any more unnecessarily.
  • Size optimization: msdn now says SHGetMalloc returns the same allocator CoTaskMemFree uses and a little debugging backs this even on Windows 95.
  • Disable the X button for InstallOptions pages as well when CancelEnabled is used.
  • IOEx DLL version 2.4.5 beta 1
    (09/Feb/2007)
  • Compiled with VisualStudio 2005. Fixed warnings and use the secure fopen_s function instead of fopen.
  • Fixed: The selection of a subitem in TreeView returned only the root item.
  • Fixed: Empty items appeared sometimes in TreeView.
  • Fixed: RichText files were not loaded if they were situated in a directory starting with "n", "r" or "t".
  • Fixed: Richtext fields were selected and scrolled down even if they used the READONLY and MULTILINE flags.
  • Fixed: WS_EX_LEFTSCROLLBAR in RTL mode (IO bug #1283528).
  • RichText files are not rewritten any more in the leave function if the READONLY flag is used.
  • Added: VSCROLL flag support for RichText controls.
  • Added: ONCLICK flag by default on Notify key if not specified for Link controls for IO compatibility.
  • Added: HWND entry to the INI file to avoid messy calculations of the correct control id.
  • Added: FOCUS flag for setting focus to a control other than the first (IO patch #1634704).
  • IOEx DLL version 2.4.4 beta 2
    (12/Feb/2005)
  • Fixed: Image controls implementation was coded poorly.
  • Fixed: Dialog box now can be colored (bug introduced IOEx 2.4.1 beta 6).
  • Fixed: Filter key value had last character chop down.
  • Fixed: Filter key value's first item in array is the only one detected.
  • Fixed: Filter key value can overrun the buffer by one byte besides the "BufferSize" limit for characters.
  • Added: Ability to convert "\\" to "\" in lists.
  • Fixed: The ListItems value name for ComboBox and DropList controls can't have the combination "\\" and "\|". This needs to be verified.
  • IOEx DLL version 2.4.4 beta 1
    (13/Nov/2005)
  • Removed GPL'd code from the plug-in. Removed support for GDI+, which in turn, removed newer systems support of .png, .tiff, and .emf files.
  • Added support for the key "F2" on TreeView and ListView controls.
  • Fixed the selection of the last item with the "End" key in a ListView control without the CHECKBOXES flag and without using LargeImageList INI key.
  • Fixed: When StateImageList points to an invalid file, it still applies the CHECKBOXES flag normally.
  • Fixed: When a label was not changed in TreeView or ListView controls that use the EDITLABELS flags, it was emptied.
  • IOEx DLL version 2.4.2 beta 5
    (13/Sep/2005)
  • Added RichText control.
  • Added BufferSize key for Settings section. A note though, everything, including Type value for all fields are affected.
  • Added ReadOnlyTxtColor and ReadOnlyBgColor keys for Text and RichText controls.
  • Added ONTEXTSELCHANGE notification flag for RichText controls.
  • Bitmap, Icon and Animation controls have now fused together into a control called Image. The old control names are still supported for compatibility.
  • Image controls now use GDI+ or OLE when needed. So there are new file types supported: .jpg, .jpeg, .gif (GDI+ or OLE), .png, .tiff, .wmf, .emf (GDI+ only).
  • Older INI files braking notice: Renamed icon names for ToolTipIcon key to INFORMATION, EXCLAMATION and STOP, as defined under the icon resources for the State key for Image controls.
  • Added "\|" escape characters for ListBox, DropList, ComboBox controls. This applies to list based keys only.
  • Added "\|", "\{" and "\}" escape characters for ListView and TreeView controls. This applies to list based keys that do not use just numbers only.
  • Fixed internal memory leaks and bugs.
  • For Link and Button controls using DIRREQUEST flag:
    • Fixed the non-disabling "OK" button when a non-folder item was selected (like My Computer).
    • Added ability for the State INI key to specify the initial folder shown in the DIRREQUEST dialog.
  • Now FONTREQUEST and COLORREQUEST flags for Button and Link controls output the control state even if a value is specified for the RefFields key.
  • Fixed string not being truncated at the maximum buffer size allowed when Text and Password controls returned (IO bug).
  • Fixed Link and Button controls with DIRREQUEST flag: "|" character was appended everytime to the end of ListItems key.
  • Corrected the formula to convert pixels into points for Link and Button controls with FONTREQUEST flag.
  • Fixed Link and Button controls State key return value when used with FILE_OPENREQUEST and MULTISELECT flags: String was truncated to the first 1023 characters (1024 w/ the terminator character).
  • State INI key for ComboBox controls now uses the text specified for the state if it is not one of the items specified in ListItems.
  • HSCROLL and VSCROLL flags won't work anymore if specified for controls that do not support this flag. The effect is simply useless.
  • Re-added EXTENDEDSELCT and REQ_SAVE flags for compatibility purposes with IO.
  • Fixed bugs #1287731 and #1283528.
  • IOEx DLL version 2.4.2 beta 4
    (3/Aug/2005)
  • Added MUnit key for Settings section and NotifyCursor for Field # section.
  • Re-implemented NumFields from original InstallOptions for compatibility reasons.
  • Added ListView and TreeView controls support for TxtColor and BgColor values.
  • Added EDITLABELS flag for TreeView and ListView controls and MULTISELECT for ListView controls (made single selection default in this case).
  • Fixed empty item names for TreeView and ListView controls.
  • Fixed the return of State and ListItems INI values for Link and Button controls with COLORREQUEST flag.
  • Fixed an interminable loop when UpDown controls had a buddy control that had the ONTEXTCHANGE or ONTEXTUPDATE notification flags.
  • Fixed the range of numbers for UpDown controls. Maximum value for MaxLen and MinLen is 2147483646 and the minimum is -2147483646. Also the default values for the two keys are 2147483646 and -2147483646, respectively.
  • IOEx DLL version 2.4.2 beta 3
    (2/Jul/2005)
  • Added new keys for "Field #" section: RefFields, 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 key and UpDown controls on Text key were transfered to RefFields key.
  • Now Link and Button controls with OPEN_FILEREQUEST, SAVE_FILEREQUEST, DIRREQUEST, COLORREQUEST, FONTREQUEST flags output state values to State key.
  • 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 key ware transfered to StateImageList key.
  • 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
    (7/May/2005)
  • Added TimeOut INI key 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 key on the documentation.
  • IOEx DLL version 2.4.2 beta 1
    (22/Mar/2005)
  • Added new control type: TreeView.
  • Major Fix: Password controls without a value for Text INI key gave a fatal error.
  • Added new flags to Flags INI key: CHECKBOXES for TreeView controls, TRANSPARENT for Animation controls (second implementation).
  • Removed flags from Flags INI key: RIGHT for CheckBox and RadioButton controls, LEFT for UpDown controls.
  • Added new INI keys 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 key 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
    (22/Jan/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 key).
  • 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 (Added on IO 2.4.2).
  • IOEx DLL version 2.4.1 beta 12
    (28/Dec/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 key 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
    (07/Nov/2004)
  • Flags INI key 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 keys 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 keys 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
    (25/Jul/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 keys.
  • 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
    (27/Jun/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
    (11/Jun/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
    (7/Jun/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
    (31/May/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
    (24/May/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.7
    (27/Apr/2007)
  • Line breaks support in Link control.
  • Added HLine and VLine controls.
  • IO DLL version 2.4.6
    (31/Mar/2007)
  • Use installer's name for message boxes.
  • IO DLL version 2.4.5
    (23/Jan/2007)
  • Added FOCUS flag for setting focus to a control other than the first.
  • IO DLL version 2.4.4
    (11/Oct/2005)
  • Added HWND and HWND2 entries to the INI file to avoid messy calculations of the correct control id.
  • IO DLL version 2.4.3
    (4/Oct/2005)
  • Fixed alteration of the working directory by FileRequest.
  • Added WS_EX_LEFTSCROLLBAR in RTL mode.
  • IO DLL version 2.4.2
    (21/Jan/2005)
  • Added TRANSPARENT flag for BITMAP fields (funded by Chris Morgan).
  • IO DLL version 2.4.1
    (8/May/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
    (4/Jan/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
    (4/Dec/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
    (10/Jun/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
    (15/Mar/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
    (4/Mar/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 key.
  • IO DLL version 1.7 beta
    (2/Nov/2002)
  • Added initDialog and show DLL functions.
  • Removed CancelConfirm, CancelConfirmCaption, CancelConfirmFlags INI keys.
  • Renamed BackDisabled INI key to BackEnabled. IO DLL version 1.6 beta (30/Sep/2002)
  • CancelConfirmIcon becomes CancelConfirmFlags and can now take the other common MessageBox flags
  • IO DLL version 1.5 beta (26/Sep/2002)
  • Made close [x] button behave like Cancel (thanks brainsucker)
  • IO DLL version 1.4 beta
    (4/Sep/2002)
  • Added Icon and Bitmap controls (by Amir Szekely)
  • IO DLL version 1.3 beta
    (15/Aug/2002)
  • Added CancelShow (by ORTIM)
  • Added pixel transformation for widgets (by ORTIM)
  • IO DLL version 1.2 beta
    (31/Jul/2002)
  • Added CancelEnabled (by ORTIM)
  • Added CancelConfirmCaption and CancelConfirmIcon (by Amir Szekely)
  • IO DLL version 1.1 beta
    (22/Jul/2002)
  • Font is now taken from the main NSIS window (by Amir Szekely)
  • IO DLL version 1.0 beta
    (16/Dec/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
    (18/Nov/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
    (03/Nov/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
    (30/Oct/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
    (28/Oct/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
    (28/Oct/2001)
  • 8.5kb from 44kb. heh. (by Justin Frankel)
  • IO DLL version 1.2
    (28/Oct/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
    (27/Oct/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
    (25/Oct/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
    (25/Oct/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
    IOEx DLL (starting at v.2.4.5) by SuperPat
     
    Documentation for InstallOptions 2 by Joost Verburg
    InstallOptionsEx Documentation (changed from InstallOptions') by Diego Pedroso and by SuperPat since version 2.4.5 beta 1
    License

      Original IO version Copyright © 2001 Michael Bishop
      IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM
      IO DLL version 2 Copyright © 2003-2007 Amir Szekely, Joost Verburg, Dave Laundon
      IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso
      IOEx DLL (starting at v.2.4.5) Copyright © 2006-2007 SuperPat
    
      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.