Using Actions to Extend the Behavior of a Suite/Advanced UI Installation

InstallShield 2016

Project • This information applies to Suite/Advanced UI projects.

Edition • The Advanced UI project type is available in the Professional edition of InstallShield. The Suite/Advanced UI project type is available in the Premier edition of InstallShield. For information about the differences between these two project types, see Advanced UI Projects vs. Suite/Advanced UI Projects.

You may require your Suite/Advanced UI installation to perform various run-time tasks that are outside the scope of the packages that you are including in the installation. For example, you may need the Suite/Advanced UI installation to do one or more of the following:

Install an application before the user interface of the Suite/Advanced UI installation is displayed.

One sample scenario in which this may be necessary is when one of the packages in your Suite/Advanced UI installation runs SQL scripts to install an Oracle database. Before this package is run, you may want the Suite/Advanced UI interface to display a wizard page that lets end users select the appropriate server from a list of servers that are available on the network. This type of UI support requires that ODBC drivers be installed on the target system.

Search the target system for the presence or absence of a particular product, technology, folder, file, registry entry, or other item.

Support for searching the target system enables you to trigger behavior based on whether certain conditions are met. For example, if a particular file is missing on a target system, you can set a Suite/Advanced UI property accordingly, and then use that property to set a property in one or more of the packages in the Suite/Advanced UI installation.

Configure the target system before or after running a package in the Suite/Advanced UI installation.

In some scenarios—for example, if your Suite/Advanced UI installation installs an IIS application on servers—you may want to enable IIS-related Windows roles and features on target systems. In other scenarios, you may want to edit configuration files, registry data, or other items on the target system based on which packages in the Suite/Advanced UI installation are selected to be run by end users.

Perform some sort of initialization that end users trigger when using a particular wizard interface control, or when a wizard page or secondary window is opened or closed.

For example, you may want to add an action to a combo box control on a wizard interface to dynamically populate the values in the combo box.

To extend the capabilities of a Suite/Advanced UI installation and make it possible to perform those sorts of tasks and more, you can use the Events view in your Suite/Advanced UI project to create actions that run executable files, call DLL functions, run PowerShell scripts, set a Suite/Advanced UI property, run InstallScript code, or call a public method in a managed assembly at run time.

To author an action and add it to your Suite/Advanced UI project:

1. Create your own .exe file (if appropriate), DLL file, PowerShell script, InstallScript file (.rul), or managed assembly (written in managed code such as Visual Basic .NET or C#) that performs the functionality that your installation requires.

For an InstallScript action, you can use the InstallScript view in your project.

2. In the Events view, create an action that uses the file that you created for step 1. For more information, see Adding an Action to a Suite/Advanced UI Project.
3. Decide when your action should run, and schedule it: add it to an event, add it to a wizard interface element, or assign it to an event in a specific package in your project. To learn more, see Scheduling a Suite/Advanced UI Action.

See Also