Recently, I was doing some work with Setup Types and thought it was a good topic to write about. This information applies to InstallScript MSI and InstallScript projects.
Setup Types allow you to provide different versions of your product to customers. Each installation project has some default Setup Types. InstallScript projects have Complete and Custom types. InstallScript MSI projects have Typical, Minimal and Custom types.
Complete installs all of the files in your installation. Typical would generally install some of the files in your installation. However, you could also have it install all the files. Minimal installs the minimum amount of files needed for your product to run. Custom allows you to select what you want to install. Let’s look at some other definitions.
Features are the smallest installable part of a product from the end users perspective. Consequently, they are visible to the end user.
Components are the smallest installable part of a product from the installation developer’s perspective. Components are not visible to the end user.
Setup Types are made up of different features. The Complete Setup Type will contain all of the features in an installation. The Typical Setup Type will contain most, if not all, of a program’s features. Minimal and Custom types will just contain some of the features.
Let’s look at some screenshots from a sample project and all this will become clear. These shots are from an InstallScript project. But the same applies to an InstallScript MSI project.
The above screenshot shows the Setup Design view. In this project, there are 5 features and 9 components.
The above screenshot shows the Setup Types view with the Complete setup type highlighted. Notice all of the features are selected.
The above screenshot shows the Custom setup type. Generally when the Feature Selection dialog is displayed for Custom, all of the features will be selected in an installation. The user can then deselect the ones he doesn’t want.
The above screenshot shows the Typical setup type. Here, some of the features are selected. This represents the feature installation set that is typical for most users.
Finally, the above screenshot shows the Minimum setup type. For this one, the minimum features needed to successfully run a product are selected.
Here is another important distinction between Setup Types and Features. Using the sample project as an example, you could display the Setup Type selection dialog during the initial install, and the user selects the Minimum setup type, and those features would be installed. You can not come back in the Maintenance install and select the Typical setup type. After installing the Typical setup type, only the Typical type would be installed. Not both the Minimum and Typical types. It doesn’t work that way. With Setup Types, only one Setup Type can be installed at a time.
Not so for Features. Let’s say in an initial installation, the Feature selection dialog is displayed, and the user selects Feature_1, Feature_3, and Feature_5 to install. He could then come back in the Maintenance installation and select Feature_2 to be installed, in addition to the previous 3 features selected and installed during the initial install. The end result being 4 features would be installed. He could also deselect a feature and it would be uninstalled.
That’s a basic description of the differences between Setup Types, Features and Components.