The Features and Components page defines the physical (development)
and logical (user-visible) organization of your product's contents in the
installer. It also contains any merge modules that you have imported into
your project.
The Features and Components page has a tree view on the left and a list view on the right. The tree view contains the Features and Components tree plus the Merge Modules tree . The list view displays the contents of the currently selected tree view item.
Tip: You can use drag & drop to move features in the tree
and to add components to features. You can also drag & drop objects from
the list view of one component to another component in the tree view.
Example Assume that you are designing an installer for a suite of office productivity tools. The suite might include a word processor, a database manager, and a spreadsheet. Each of those applications in turn may have one or more optional extras, such as content templates and additional help resources. The user may choose which tools to install (word processor, database, spreadsheet) and also which extras. Depending on the selected tools and extras, different sets of files and other items must be installed.
In your Tarma Installer project, this translates to features (shown as
)
for each of the tools and extras, and components (shown as
)
for each of the file sets.
In the installer, the features that you define for your product are visible
as a tree of installation options; the branches of the trees (i.e., features
and subfeatures) can be selected or not selected for installation. Components
are not visible in the installer, but are present internally as part
of the feature tree and selected with their parent feature.
Tarma installers have very relaxed rules for features and components. You can build a Tarma installer without using any features or components at all; in that case, there are no product options available (although the installation folder can still be selected by the customer) and all product contents are always installed. Most of the time, however, your Tarma installer will use some features and components, but Tarma imposes very few restrictions on the composition of your components.
However, you must use components in the following situations:
These options may be combined to create, for example, a component that is only installed during a French installation on a 64-bit Windows XP target system where a specific registry value is also present.
If you use components for any of these situations, then the component (and the installation items it controls) is installed if, and only if, all its platform, language, and free-form conditions are fulfilled, and its parent feature is selected for installation.
An Assembly represents either a .Net assembly or a Windows side-by-side assembly. Assemblies are specialized components, which means that they control the installation of the items that you put into them and are themselves subject to control by their parent feature. Assemblies differ from plain components in that an assembly can register itself on the target system as either a .Net assembly or a Windows side-by-side assembly.
See the following topics for information about assembly usage:
Tarma Installer's implementation of .Net and Windows side-by-side assemblies has one special feature: on Windows versions that do not support these assemblies, the files that make up the assembly are automatically redirected to the appropriate Windows System folder (32-bit or 64-bit). This allows some degree of backward compatibility and will allow most applications to operate correctly on older systems.
Although merge modules are MSI-based packages, you can use them for Tarma native installers. When you import a merge module into your project, Tarma Installer converts the MSI information in the merge module to Tarma's own project format; from then on, you can use the merge module's contents as you would any part of the project.
The merge module import typically results in the addition of a number of components to the product that are placed in their own feature (for easy of reference); any installation files in the merge module are automatically extracted and added to the project as well.
Tarma Installer 2.x did not use features or components; all product contents except shortcuts were always installed. However, it was possible in Tarma Installer 2.x to control installation of files and certain system settings by using a combination of language and platform options, and by using conditions.
In Tarma Installer, these options and conditions have moved to the component level. If you import a Tarma Installer 2.x project with any of these options into Tarma Installer, it will automatically create components that correspond to the various options. Wherever possible, files, registry settings, etc. that use identical options and conditions in the Tarma Installer 2.x project are assigned to the same component.
For more information about the conversion of Tarma Installer 2.x projects, see the topics in the Upgrading from Tarma QuickInstall section.
Assembly, Component, Feature, Object Reference, Working with project pages