Enhanced User Interface

The Enhanced User Interface allows you to design a great interface for your installation packages.

Starting with v21.0 Advanced Installer provides you with two options to enable the Enhanced UI dialog controls:

WinUI rendering can be enabled for packages with any of the above options enabled.

Controls Transparency

When using the regular Windows Installer UI only text controls can be placed onto a image. When using Enhanced UI all other controls like icon, check-box or radio-button are also transparent. This will allow you to design any background image for you pages.

Large Icons

IconYou can use true color icons as large as 256x256 pixels.

Enhanced Check-Box & Radio Buttons

Check-boxRadio-buttonOnly when using Enhanced UI, the check-box & radio button controls are rendered with colored text, as specified by their text-styles.

Image Button

Image ButtonDisplays a push button that uses images to display its state. Overall there are six states available. Because of this, the image used by this button is composed of six smaller images.

ImportantOnly PNG, JPEG and JPG images can be used for Image Buttons

The six states of the push button are:

  • Normal
  • The normal state of the button
  • Over
  • The state of the button on mouse over
  • Pressed
  • The state of the button when is being pressed
  • Disabled
  • The state of the button when no user interaction is possible
  • Normal default button
  • The command button that is invoked when a user presses the ENTER key
  • Over default button
  • The state of the default button on mouse over

Image button sample, this default is used when adding the button from Advanced Installer toolbox.

Image Button Resource Sample  

The image for the image button should contain 6 buttons of the same size, each one of them corresponding to one state from the above list. The algorithm behind this custom control will split the image into 6 pieces to be able to display each button.

Image Check Box

Image Check-BoxDisplays a check box that uses images to display its state. Overall there are eight states available. Because of this, the image used by this check box is composed of eight smaller images.

The eight states of the check box are:

  • Normal unchecked
  • The normal unchecked state of the check box
  • Over unchecked
  • The mouse over unchecked state of the check box
  • Pressed unchecked
  • The pressed unchecked state of the check box
  • Disabled unchecked
  • The disabled unchecked state of the check box
  • Normal checked
  • The normal checked state of the check box
  • Over checked
  • The mouse over checked state of the check box
  • Pressed checked
  • The pressed checked state of the check box
  • Disabled checked
  • The disabled checked state of the check box


ImageThe Enhanced UI version of this control can also display animated .GIF or transparent .PNG files.

To control an animated .GIF you should set the AiGifCommand property to one or more of the following command values:

  • <your_image_name>.Play (plays <your_image_name> animated .GIF)
  • <your_image_name>.Pause (pauses <your_image_name> animated .GIF)
  • <your_image_name>.Stop (stops <your_image_name> animated .GIF)
  • <your_image_name>.Rewind (rewinds <your_image_name> animated .GIF)

For example you can have a dialog with three image controls which point to animated .GIF files. On the same dialog, a button can have a Set installer property value published event that sets the AiGifCommand property to:


In this example scenario when the installing user will press the button, every image control will comply with the given command (Image_1 will play, Image_2 will pause and Image_3 will stop).

Quick Feature Selection Tree with Check-Boxes

Quick Selection TreeThis feature selection tree control uses check-boxes instead of menu items to install/remove a feature.

Each feature has a check-box associated with it, which will control the installation state of a feature. If the check-box attached to a feature is checked that means the feature will be installed, otherwise, that feature will not be available after the installation. A check-box comes with intuitive icons for the installation state. If you choose to install a feature you will see the icon of a drive with an arrow and if you choose not to install that feature you will get an “X” icon.

The Quick Selection Tree provides a quicker and more efficient way for the end-users to install a product. It also offers a more attractive way for the novice users to manage an installation.

Another UI option is that you can choose whether or not it will have a border - as well as for any other tree or list. Choosing not to have a border, your control will look like it is somehow integrated in that dialog and will provide more eye candy appearance to your product installation.

Quick Feature Selection List with Icons

Quick Selection ListThis new feature selection list control prepends an icon for each listed feature.

The Install Mode extended attribute's value determines which features are displayed into the list:

  • Install - lists only top level features that can be installed, excluding the mandatory ones
  • Uninstall - lists only already installed features that can be removed
  • Show Installed - lists only already installed features without checkboxes
  • Combined - all features will be listed

Check List Control

Check ListThis control is a regular list box with check-boxes, that enables the user to make a multiple selection from a list of predetermined values. When multiple items are selected, their comma separated values will be stored in the property specified in the "Property Name" field. You can customize the separator token to be used for multiple selected values.

Prerequisite Selector Control

Prerequisite SelectorThe Prerequisite Selector displays the feature-based prerequisites states. It also allows the user to select which prerequisite to install.

Prerequisites are displayed together with additional information like: required versions, versions found on target computer and action that will be performed.

Styled Progress

Styled ProgressA styled bar that changes its length as it receives progress messages.

The image used by this control is composed of three smaller images aligned from left to right as follows:

  • Unfilled
  • The unfilled style of the progress bar
  • Indeterminate
  • The indeterminate (marquee) style of the progress bar
  • Filled
  • The filled state of the progress bar

NoteThis control requires a "Display installation progress" subscribed event with the "Progress" attribute.

HTML Host Control

HTML HostThe HTML Host control displays an HTML page from a given URL or a local file. The associated HTML page can be static or dynamic by using JavaScript (embedded or external).

NoteFor more information about using the HTML Host control and its APIs read this article.

Tab Host

Tab HostThe Tab Host control includes a list of child dialogs. The child dialogs' titles represent the tab's name in the control, whereas each dialog's content will be displayed when the user selects its corresponding tab.

With this control the user can choose to navigate to the dialog's tab inside the Tab Host control, only if he wishes to customize its associated settings.

The tabs content and visibility inside the Tab Host control can be defined and conditioned from the "Child Dialogs" Dialog. This dialog can be accesed from the Tab Host control's "Child Dialogs..." context menu or by double clicking it in the dialog editor.

Vertical Line Control

Vertical lineDisplays a vertical etched line.

Multiple Selection Lists

List BoxList ViewCheck ListAllows more than one item at a time to be selected from a List Box or List View control. When multiple items are selected, their comma separated values will be stored in the property specified in the "Property Name" field. You can customize the separator token to be used for multiple selected values.

Native (OS) Browse Folder Dialog

Browse FolderThe Browse Folder dialog is now displayed using the operating system predefined dialogs so the user can select the install location in a very familiar and easy to use dialog.

Enforced "License Agreement" Lecture

ScrollableThe scrollable text that usually displays the license agreement will now set the attached property when it will be scrolled to the last line. A control condition based on the scrollable text property can be used to enable the agree control. This is a good way to make sure that the users have read your licensing terms.

Highly UAC Compliant

UACThe Enhanced User Interface prompts for credentials only when required.

Installation Overall Progress

The standard installation progress resets itself several times during an installation. When using Enhanced UI the installation progress can be displayed as accurate as possible using the AiGlobalProgress event.

Installation Summary

The main actions performed during installation may be displayed into a log-like fashion. The standard ActionText and ActionData messages are filtred and improved to create a user friendly installation log using the Installation Summary or Installation Details events. For more details follow the installation summary tutorial.

WinUI Rendering

When installing on Windows 10 - 1809 and above, the controls can be rendered using WinUI modern controls, if EXE External UI option is selected. For MSI Embedded UI option, WinUI controls can be used only on Windows 11.

WinUI is the native UI layer in Windows, embodies Fluent Design and gives your installation the polished feel that customers expect. Key benefits:

  • Modern controls
  • WinUI controls come with a modern look and improved functionality.
  • SVG Images Support
  • You can use SVG images for improved rendering on high DPI monitors.
  • Transitions
  • Controls will be animated when their visibility is changed.
  • Native Performance
  • Blistering performance and responsive interactivity, no dependencies, powered by a highly optimized core built into the OS.
  • Customization
  • The overall look of the UI can be easier customized using XAML files

You can optionally enable WinUI rendering from the Themes > Settings page.