Tell Me About It: Showing Action Messages During Software Installation

In a Basic MSI installation project, the SetupProgress dialog box displays information about the progress of the software installation at run time:

 

Blog1
The text field just above the progress bar displays a short description—“Copying new files”, in the previous figure—of the action currently taking place. The text field is set up to display these short action descriptions by “subscribing” to the ActionText event with the attribute Text. In the following figure, note that the Subscriptions tab is selected in the lower right region of the behavior editor for the selected text control.

Blog2

The ActionText messages are stored in the Description field of the ActionText table. Starting with InstallShield version 2010, the Custom Actions and Sequences view has a new Action Text icon where you can view and edit an action’s messages:

Blog3
Expanding the Action Text icon shows the individual actions and their messages:

Blog4

To change the message displayed by a standard action, modify the Description field for the action and then rebuild your project.

To add a message for a custom action, you can right-click the Action Text icon and select New, and then create an item with the same name as your custom action. (I’m not sure why this isn’t a property of the custom action, but there it is.)

Tell Me More: Displaying Detailed Messages During Installation

To display more detailed information about the action currently taking place, you can add a control that subscribes to the ActionData event. In the Dialog Editor, you can begin by adding a Text control beneath the progress bar. In the following figure, a Text control named “DetailText” has been created below the progress bar control.

Blog5

To specify that the new control should display detailed messages while data transfer is taking place, add a subscription to the ActionData event with attribute Text, as in the following figure.

Blog6

After rebuilding and running your project, the SetupProgress dialog box now appears similar to the following.

Blog7
The generic form of the detailed text is taken from the Template field of the Action Text view. For the InstallFiles action, the template is:

File: [1],  Directory: [9],  Size: [6]

The Windows Installer help library topic “InstallFiles Action” describes the meaning of the fields [1], [6], and [9]. The “ActionData Messages” section of any standard action’s help topic describes the fields used in that action’s detailed messages.

To modify the detailed message displayed during data transfer, simply modify the Template value in the Action Text view for the given action. For example, suppose you want to modify the InstallFiles messages to appear similar to the following:

Now installing: C:Program FilesSample CoSample.exe

You can modify the Template value for the InstallFiles action to the following:

Now installing: [9][1]

After rebuilding and running the project, the new action data for the InstallFiles action appears as follows.

Blog8

Using this technique, you can format the detailed messages for any standard action. The Windows Installer help also describes how to populate [1], [2], [and so forth] fields for your custom actions, to keep the user informed with details of what your installation program is doing.

Of course every extra step taken to keep users informed during software installation ultimately improves the first impression of your product and potentially reduces support calls. Please share your thoughts on which features you feel really impact the end-user experience. Also, please take the opportunity to download my white paper MSI Sequences and Standard Actions.

One comment on “Tell Me About It: Showing Action Messages During Software Installation

  1. Nick Skitch on   # Reply

    Please show some methods of updating progress bar for custom actions.

Leave a Reply

Your email address will not be published. Required fields are marked *