Special Considerations for InstallScript Packages in Advanced UI and Suite/Advanced UI Projects

Project:This information applies to the following project types:

Advanced UI
Suite/Advanced UI

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

Note the following details if you are including an InstallScript package in your Advanced UI or Suite/Advanced UI project, or if you are including an InstallScript project (.ism) in your Suite/Advanced UI project.

Run-Time User Interface, Events, and Functions

When an Advanced UI or Suite/Advanced UI installation launches an InstallScript package, the Advanced UI or Suite/Advanced UI installation displays its own user interface (UI) while automatically suppressing the UI of the InstallScript package. The Advanced UI or Suite/Advanced UI installation also displays progress information for the InstallScript package. To make these changes possible, the Advanced UI or Suite/Advanced UI installation uses several Advanced UI– and Suite/Advanced UI–specific InstallScript events and functions by default, and ignores some of the standard InstallScript events and functions. The Advanced UI– and Suite/Advanced UI–specific InstallScript events also augment how file transfer starts.

In a standard InstallScript installation that is launched via the InstallScript Setup.exe file (that is, not launched from an Suite/Advanced UI installation), most events are called directly from the OnShowUI event. In an Advanced UI or Suite/Advanced UI installation that launches an InstallScript package, OnShowUI is replaced with OnSuiteShowUI. For more information, including the Advanced UI– and Suite/Advanced UI–specific events that are launched by default through OnSuiteShowUI, see OnSuiteShowUI.

The InstallScript language includes some Advanced UI– and Suite/Advanced UI–specific functions that enable interaction between an InstallScript package and the Advanced UI or Suite/Advanced UI installation that is running it. For more information, see Advanced UI and Suite/Advanced UI Interaction Functions.

Note the following guidelines:

Because an Advanced UI or Suite/Advanced UI installation suppresses the standard InstallScript UI of an InstallScript package, any script dialog calls (for example, DefineDialog, EzDefineDialog) return an error. Therefore, no dialog calls should be made in the Advanced UI– or Suite/Advanced UI–specific events or in feature transfer events.
Advanced UI and Suite/Advanced UI installations route all script-provided message box functionality (for example, MessageBox, SprintfBox) through the SuiteErrorReport function. Calls to these functions should not be made as a way of requesting user input except in error cases. All user input should be obtained through the Advanced UI or Suite/Advanced UI wizard pages, which you can configure in the Wizard Interface view of an Advanced UI or Suite/Advanced UI project. This enables you to provide a consistent UI experience for all of the packages in an Advanced UI or Suite/Advanced UI installation.
Non-InstallScript UI (such as custom UI implemented through DLLs or other means) should not be called from Advanced UI– or Suite/Advanced UI–specific InstallScript events or feature transfer events. All user input should be obtained through the Advanced UI installation’s or Suite/Advanced UI installation’s UI.

Passing Data from an Advanced UI or Suite/Advanced UI Installation to an InstallScript Package in the Advanced UI or Suite/Advanced UI Installation

To pass data from an Advanced UI or Suite/Advanced UI installation to an InstallScript package through the command line, use the CMDLINE variable. For more information, see CMDLINE.

To pass Advanced UI or Suite/Advanced UI property values to an InstallScript package, use the InstallScript functions SuiteGetProperty or SuiteFormatString.

Run-Time Detection for Launching Through an Advanced UI or Suite/Advanced UI Installation

To determine whether the InstallScript installation is running as an InstallScript package in an Advanced UI or Suite/Advanced UI installation, use the SUITE_HOSTED variable in your InstallScript code. For more information, see SUITE_HOSTED.