Feature Settings

InstallShield 2014

Project: Feature settings are available in the following project types:

Advanced UI
Basic MSI
InstallScript
InstallScript MSI
InstallScript Object
MSI Database
Suite/Advanced UI
Transform

The settings in the Features view (and the feature settings in the Setup Design view) are organized into the following main categories:

General
Feature Events
Run-Time Settings

General

When you select a feature in the Features view or the Setup Design view, the following settings are available in the General area:

General Settings for a Feature

Setting

Project Type

Description

Display Name

Advanced UI, Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, MSI Database, Suite/Advanced UI, Transform

Enter the name that you want to be displayed for this feature on the CustomSetup dialog (or in Advanced UI or Suite/Advanced UI projects, on the InstallationFeatures wizard page).

When you type a value for this setting, you are creating a string entry and setting its initial value for all of the languages that are currently in the project. As an alternative to typing a new value, you can click the ellipsis button (...) in this setting to select an existing string. For more information, see Using String Entries in InstallShield.

Description

Advanced UI, Basic MSI, InstallScript, InstallScript MSI, InstallScript Object, MSI Database, Suite/Advanced UI, Transform

Enter a brief description of the feature. A feature’s description is displayed on the CustomSetup dialog (or, in Advanced UI and Suite/Advanced UI installations, on the InstallationFeatures wizard page) when the end user clicks a feature or subfeature.

When you type a value for this setting, you are creating a string entry and setting its initial value for all of the languages that are currently in the project. As an alternative to typing a new value, you can click the ellipsis button (...) in this setting to select an existing string. For more information, see Using String Entries in InstallShield.

Remote Installation

Basic MSI, InstallScript MSI, MSI Database, Transform

Indicate the default install state for the feature. Valid options are:

Favor Source—The files in this feature are set to be run directly from the source medium, such as a CD-ROM or a network location, by default.
Favor Local—The files in this feature are set to be installed on the target system by default.
Favor Parent—The subfeature has the same default state as its parent feature. This option is available only if the feature is a subfeature.

For more information, see Setting a Feature’s Remote Installation Setting.

Caution: If any of the feature’s components contain a Windows service, select Favor Local. Although an end user could change the installation state through the CustomSetup dialog, the Windows Installer cannot install a service remotely.

Destination

Basic MSI, InstallScript MSI, MSI Database, Transform

Select the folder on the target system into which the feature's files should be installed, or click the ellipsis button (...) to select or create a directory.

Note: If you want the destination to be configurable at run time, the destination folder that you select must be a public property (containing all uppercase letters).

For more information, see Setting a Feature’s Destination.

Install Level

Basic MSI, InstallScript MSI, MSI Database, Transform

Enter an integer for this feature's install level. Unless the end user deselects features in the CustomSetup dialog, all features with an install level less than or equal to the value of the package's INSTALLLEVEL property are installed. You can change the INSTALLLEVEL property for the entire project in the Property Manager.

The Install Level setting for a feature is compared against the INSTALLLEVEL property at run time to determine which features are available for installation. You can use this setting to create specific feature configurations.

Project: For InstallScript MSI installations, this setting is used only if no setup types are defined for the project.

Display

Basic MSI, InstallScript MSI, MSI Database, Transform

Indicate how you want the feature presented to the end user in the CustomSetup dialog (in Basic MSI, MSI Database, and Transform projects) or the feature selection dialog (in InstallScript MSI projects).

Visible and Collapsed—The feature is displayed in the run-time dialog with its subfeatures collapsed by default.
Visible and Expanded—The feature is displayed in the run-time dialog with its subfeatures expanded by default.
Not Visible—The feature and subfeatures are not displayed in the run-time dialog.

This setting does not have any direct impact on whether a feature is installed. A feature is not automatically installed if it is not visible—it just cannot be deselected if it would otherwise be installed, or selected if it should not be installed.

For more information, see Displaying Features to End Users.

Visible

Advanced UI, InstallScript, Suite/Advanced UI

Specify whether the feature should be visible on the feature selection dialog in InstallScript installations or the InstallationFeatures wizard page in Advanced UI and Suite/Advanced UI installations.

This setting does not have any direct impact on whether a feature is installed. A feature is not automatically installed if it is not visible—it just cannot be deselected if it would otherwise be installed, or selected if it should not be installed.

Note: Since the only way for end users to change the selection status of an invisible feature is by selecting or deselecting a visible feature that requires the invisible feature, you should make every invisible feature a required feature for one or more visible features. Otherwise, end users will not be able to select or install features that are initially deselected.

Advertised

Basic MSI, MSI Database, Transform

Select the appropriate advertisement option for this feature. Available options are:

Allow Advertise—End users have the ability to select the advertisement option for this feature in the CustomSetup dialog. Although advertisement is allowed, it is not the default option when the installation is run.
Favor Advertise—The feature is advertised by default. End users can change the advertisement option for a feature in the CustomSetup dialog.
Disallow Advertise—Advertising is not allowed for this feature. End users cannot elect to have the feature advertised in the CustomSetup dialog.
Disable Advertise if Not Supported—Advertisement works only on systems with Internet Explorer 4.01 or later. If the target system does not meet this criterion, advertising is not allowed. If the target system can support advertisement, advertising is allowed.

For more information, see Advertising Features.

Required

Basic MSI, InstallScript MSI, MSI Database, Transform

Indicate whether the feature is required on the target system; if the feature is required, end users cannot deselect it in the CustomSetup dialog (in Basic MSI, MSI Database, and Transform projects) or the feature selection dialog (in InstallScript MSI projects).

Project: In InstallScript MSI projects, this setting is applicable to root-level features during a first-time installation. It is also applicable to subfeatures in an upgrade or patch. This setting is ignored for subfeatures during a first-time installation.

Condition

Advanced UI, Suite/Advanced UI

This setting lets you specify one or more conditions that the Advanced UI or Suite/Advanced UI installation should use to evaluate whether the feature should be selected for installation by default on the InstallationFeatures wizard page.

For example, if you want a particular feature to be selected by default on target systems that have a particular version of Windows, you can create a condition that specifies that version of Windows. Depending on how you configure the condition, you can have that Advanced UI or Suite/Advanced UI feature selected by default on the InstallationFeatures wizard page when an end user runs the Advanced UI or Suite/Advanced UI installation on that platform. Unless the end users deselects the feature, the Advanced UI or Suite/Advanced UI installation installs it.

To add one or more new feature conditions, click the New Condition button in this setting. InstallShield adds a new row under the Condition setting. Select the appropriate option—All, Any, or None—from the list in this row. Then in this row, click the New Condition button, and select the appropriate option to continue building the conditional statement.

If one or more conditional statements are configured, the Condition setting says (Condition). If none are configured, the Condition setting says (Empty).

For descriptions of each of the condition settings, see Building Conditional Statements in Advanced UI and Suite/Advanced UI Projects.

Release Flags

Advanced UI, Basic MSI, InstallScript MSI, Suite/Advanced UI

If you want to use release flags to be able to selectively include and exclude this feature from different builds of your installation, enter one or more release flags to identify this feature. Separate multiple flags with a comma.

For more information, see Assigning Release Flags to Features.

Condition

Basic MSI, InstallScript MSI, MSI Database, Transform

This setting lets you specify one or more conditional install levels. If a condition is true on the target system, the feature is given the corresponding install level.

At run time, the feature’s install level value is compared to the value of the global public property INSTALLLEVEL to determine whether the feature should be selected for installation by default.

To specify one or more conditions, click the ellipsis button (...) in this setting. For more information, see Setting Feature Conditions.

When you add a condition, InstallShield adds a new row to the grid of feature settings. The new row shows the install level for the feature, as well as the corresponding conditional statement that you added.

Comments

Basic MSI, InstallScript, InstallScript MSI, InstallScript Object

Enter comments to help you track the changes you make to a feature, or for any future reference. The feature’s comments are stored only in the project file and are not used in the installation at any time.

Required Features

InstallScript, InstallScript MSI, InstallScript Object

If one or more other features must be installed whenever the selected feature is installed, click the ellipsis button (...) and specify the other required features. For more information, see Using the Required Features Setting.

Allow UI Selection Change

Advanced UI, Suite/Advanced UI

Indicate whether end users should be allowed to select or deselect the feature on the InstallationFeatures wizard page. Available options are:

Yes—End users should be able to select or deselect the feature through the wizard interface. This is the default option.
No—End users should not be able to select or deselect the feature through the wizard interface. If this feature is visible on the InstallationFeatures wizard page, it appears in a read-only state (either selected or deselected, based on other factors, such as the feature’s condition).

Follow Parent State

Advanced UI, Suite/Advanced UI

This setting is available for subfeatures; it is not available for root-level features.

Indicate whether you want the subfeature’s state to be determined by its parent feature. Available options are:

Yes—The selected subfeature will be installed whenever its parent feature is installed.
No—If the selected subfeature’s parent feature is installed, the selected subfeature can be either installed or not installed. This is the default option.

Note that if the selected subfeature’s parent feature is not installed, the selected subfeature cannot be installed.

This setting is especially useful if you want the subfeature to be hidden on the InstallationFeatures wizard page, but its parent feature is not hidden.

Status Text

InstallScript, InstallScript Object

Specify the status text for the feature. Your end users will see this text in the uppermost line of the progress indicator during the transfer of this feature.

When you type a value for this setting, you are creating a string entry and setting its initial value for all of the languages that are currently in the project. As an alternative to typing a new value, you can click the ellipsis button (...) in this setting to select an existing string. For more information, see Using String Entries in InstallShield.

File Need

InstallScript, InstallScript Object

Indicate the severity of allowing end users to deselect the feature in a Custom setup type. Available options are:

Standard—End users should be allowed to deselect the feature; no error messages are displayed.
Highly Recommended—End users should be advised that the feature is highly recommended.
Critical—End users should be warned that the feature should not be deselected.

Your script can read this setting using the InstallScript function FeatureGetData with the FEATURE_FIELD_FILENEED constant. Depending on the return value, your script can display a message to alert the end user if a critical or highly recommended feature is deselected.

Include in Build

InstallScript, InstallScript Object

Specify whether the feature should be included in your release when you build it.

Note that in the Features panel of the Release Wizard, you can override this setting for any of the features in your project.

Password

InstallScript

If you want to password-protect the feature, enter a password.

You can specify a different password for each feature. You can also specify a password for the entire installation (in the Media Password setting on the Setup.exe tab in the Releases view).

Note that the default script does not automatically validate a feature’s password. You must modify the script to validate the password by inserting a dialog function (such as AskText) that prompts the end user to enter a password, and then calling the FeatureValidate function from within the script.

Caution: Experienced hackers may be able to extract this password from your release. If security is a critical issue, it is recommended that you not depend solely on this password protection functionality.

Encryption

InstallScript

Specify whether the files for the feature should be encrypted. Encrypted files can be read only by the InstallScript engine (or by an experienced hacker).

If you plan to offer end users the option of running your product directly from the distribution media, do not encrypt the relevant files. InstallShield decrypts files only during installation to the end user’s hard drive.

Encryption is not the same as password protection. Encrypting a file scrambles it so that if someone opens it in a text editor, they cannot read strings and other data to get confidential information about your product. Password-protecting a feature prevents it from being installed by someone who does not know the password. You can encrypt a feature’s files or you can password-protect the feature—or, for maximum security, you can do both.

If a feature’s files are encrypted but neither the feature nor the release is password-protected, the feature can be installed by anyone who obtains your distribution media (or a copy). If a feature is password-protected but its files are not encrypted, someone can open the files in a text editor and read confidential information—possibly including the feature's password.

CD-ROM Folder

InstallScript, InstallScript Object

Specify the folder in the disk image in which the feature’s files should be placed if the CD_ROM Folder(s) option is selected in the Media Layout panel of the Release Wizard, or if the feature’s check box is selected on the Custom Media Layout panel of the Release Wizard. If either of these conditions are met but no folder is specified, the feature is placed in the root of the disk image or, if it is a subfeature, in the same folder as its parent feature.

Folder names on CD-ROMs should conform to ISO 9660 (Level 1) standards. That is, folder names should be no more than eight characters long (with no extensions), and use only the characters A-Z, 0-9, and _ (underscore).

By putting a folder structure on your CD-ROM, you can allow your product to be run from the CD-ROM. The folder structure on the CD-ROM does not need to mirror the folder structure that would be installed to a hard drive. All that is necessary is that your product be able to work with either folder structure.

This functionality is typically used only for CD-ROM distribution; for other distribution media, you usually want to compress all features into .cab files.

Project: For InstallScript Object projects, the value of this setting has no effect on where the object’s files are placed when the object is included in an installation project.

Included Components

InstallScript, InstallScript Object

This read-only setting lists the components that are associated with the feature.

It is essential to an installation that components be associated with features; otherwise, no files will be installed. Use the Setup Design view to associate components with features. For more information, see Component-Feature Associations.

GUID

InstallScript, InstallScript Object

Enter a GUID that uniquely identifies this feature. To have InstallShield generate a different GUID for you, click the Generate a new GUID button ({...}) in this setting.

The feature GUID identifies the feature in the installation’s log file; if you change a feature’s GUID in an upgrade, the InstallScript engine treats it as a new feature rather than an update to an existing feature.

Feature Events

When you select a feature in the Features view or the Setup Design view of an InstallScript, InstallScript MSI, or InstallScript Object project, the following settings are available in the Feature Events area:

Feature Event Settings for a Feature

Setting

Project Type

Description

OnInstalling

InstallScript, InstallScript MSI, InstallScript Object

This setting lets you specify an InstallScript function to be called before this feature is installed. Select the desired function from the list.

Only exported functions appear in the list. Exported functions have this prototype:

export prototype FunctionName( );

OnInstalled

InstallScript, InstallScript MSI, InstallScript Object

This setting lets you specify an InstallScript function to be called after this feature is installed. Select the desired function from the list.

Only exported functions appear in the list. Exported functions have this prototype:

export prototype FunctionName( );

OnUninstalling

InstallScript, InstallScript MSI, InstallScript Object

This setting lets you specify an InstallScript function to be called before this feature is uninstalled. Select the desired function from the list.

Only exported functions appear in the list. Exported functions have this prototype:

export prototype FunctionName( );

OnUninstalled

InstallScript, InstallScript MSI, InstallScript Object

This setting lets you specify an InstallScript function to be called after this feature is uninstalled. Select the desired function from the list.

Only exported functions appear in the list. Exported functions have this prototype:

export prototype FunctionName( );

Run-Time Settings

When you select a feature in the Features view or the Setup Design view of an InstallScript, InstallScript MSI, or InstallScript Object project, the following settings are available in the Run-Time Settings area:

Run-Time Settings for a Feature

Setting

Project Type

Description

FTP Location

InstallScript, InstallScript MSI, InstallScript Object

If you want to associate an FTP location with the feature, enter the FTP address in the following format:

ftp.domain.com

The address that you enter can be accessed from within the script using the FeatureGetData function with the FEATURE_FIELD_FTPLOCATION constant.

HTTP Location

InstallScript, InstallScript MSI, InstallScript Object

If you want to associate an HTTP address with the feature, enter the HTTP address in the following format:

http://www.domain.com

The address that you enter can be accessed from within the script using the FeatureGetData function with the FEATURE_FIELD_HTTPLOCATION constant.

Miscellaneous

InstallScript, InstallScript MSI, InstallScript Object

If you want to associate a text string with the feature, enter the text string.

The text string that you enter can be accessed from within the script using the FeatureGetData function with the FEATURE_FIELD_MISC constant.

See Also