Component attributes

A Component defines a group of installation objects that must be installed or removed together. Typically, a component contains one or more files, plus any related installation objects. A component is installed if it's part of one or more Features that are selected for installation, subject to the component's Condition, Platforms, and Languages attributes (see below). In addition, the installers maintain a global reference count for each component that ensures that the component is not removed as long as at least one product uses the component.

Components are not required; any installation object (file, folder, shortcut, registry value, etc.) that is not assigned to a component is installed or removed irrespective of any platform or language considerations. The following table summarizes the circumstances that determine if a component is installed or removed.

Current status Parent feature(s) Condition, platforms, languages Global refcount Action
Not installed for this product None selected ignored ignored No action
At least one selected Evaluate to FALSE ignored No action
Evaluate to TRUE none or 0 (zero) Install component; set refcount to 1
> 0 Install (update) component; increment refcount
Installed for this product None selected ignored <= 1 Remove component; delete refcount
> 1 Decrement refcount (only)
At least one selected Evaluate to FALSE <= 1 Remove component; delete refcount
> 1 Decrement refcount (only)
Evaluate to TRUE ignored No action

Attributes

This pane contains the following attributes and options.

Attribute Description
Name

Enter the name of the component. This name is used to refer to the component in conditional expressions and symbolic expressions elsewhere in the project, but is not visible to the user. Each component must have a name that is unique within the project.

GUID

Enter the GUID (Globally Unique IDentifier) for the component. When you create a new component, Tarma ExpertInstall automatically generates a new GUID for the component. Unless you have a good reason to change this GUID and are aware of the implications, we recommend that you keep the GUID that was generated for you.

The component GUID must be unique across all Windows software; it is used, among other things, to uniquely identify your components on Windows systems. If the GUID accidentally or intentionally matches the GUID of a different component (whether yours or someone else's), the information for the two components will get mixed up.

The component GUID must have the following format:

{aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee}

Each group of characters must consist of uppercase hexadecimal digits, i.e., the characters 0-9 and A-F.

Lock GUID

Check this box to protect the GUID field against accidental changes (the field will be made read-only); clear it to allow editing of the GUID field. Because it is very important that the GUID of your components remain unchanged throughout their lifetime, we recommend that you keep this box checked.

Generate

Click this button to generate a new GUID and copy it to the GUID field. The GUID is generated by the Windows UuidCreate function and is guaranteed to be globally unique if your computer contains a functioning network card.

Note: No network access takes place when the GUID is generated, but the network card's unique identifier is used as part of the new GUID. This is combined with time and date information and a counter, and the result is then securely hashed to make it impossible to reconstruct any of the original information.

Tip: If you want to use the project for a new product (or if you want the product to behave as an independent version), then you can also use the Project > Generate New GUIDs command to generate new GUIDs for the product and all its componenents.

Condition Enter a conditional expression that determines if the component will be installed, or leave empty if the component must be installed unconditionally. Unless you check the Dynamic option (below), the condition is only evaluated once, to ensure that the component will not be accidentally installed or removed during a subsequent run of the same installation package because of changes to the condition. The evaluation occurs during the UpdateComponents standard action.
Dynamic

Check this box to re-evaluate the condition during each installer run; clear it to evaluate the condition only once. If this option is checked, the installer re-evaluates the conditon during each UpdateComponents action; with the option cleared, only the first such action evaluates the condition.

Platforms...

Click this button to open the Select Installation Platforms dialog box that allows you to select the Windows versions on which the component must be installed. This platform selection acts as an additional condition for the component.

Note: Platform selection can occur during build time or installation time. When a Build Configuration is being built Tarma Installer will include or exclude components depending on the overlap between the component's Platforms selection and the build configuration's build platforms. A BLD:Q0062 diagnostic message will be issued if a component is excluded based on the build platforms. Further platform selection may occur at installation time.

Languages...

Click this button to open the Select Installation Languages dialog box that allows you to select the languages for which the component must be installed. This language selection acts as an additional condition for the component.

Note: Language selection can occur during build time or installation time. When a Build Configuration is being built Tarma Installer will include or exclude components depending on the overlap between the component's Platforms selection and the build configuration's build platforms. A BLD:Q0063 diagnostic message will be issued if a component is excluded based on the build languages. Further language selection may occur at installation time (for multilingual installers).

Build condition

Enter a conditional expression that determines if the component will be included in the build, or leave empty if the component must be included in all builds. The build condition is evaluated during the preflight test for each Build Configuration; you can use the Build variables attribute in the Build Configuration pane to control if the component will be included for a particular configuration.

If the condition evaluates to false, the component and all the installation objects that are controlled by it are excluded from the build process for the configuration.

Packaging

Select the desired packaging option for the files that belong to the component. The packaging option that you select here overrides the packaging option from the build configuration. The following choices are available:

Packaging Description
Default Package the component's files as per the build configuration's Packaging option.
Local Always keep the component's files local, i.e., in the main installation package or on one of the distribution disks.
Download Always create a download package for the component's files. This option is most useful for large components that are only needed in special circumstances (as dictated by the component's Condition or Platforms settings, or because the component belongs to a feature that is optional).
For a detailed overview of the interaction between the component's packaging optins and the build configuration, see the Installer packaging topic.
Comment Free-form text field in which you can enter annotations for the component. This field is not used by the installer; it is only intended for your own documentation.

Related topics

Features and Components, Working with attribute panes