Working with Features and Components

There are several functions that change the installation of product components and features. The following describes how to change features and components.

To change the installation of features and components

  1. Set the installation level for a component or feature by calling the MsiSetInstallLevel function.

    Each feature in a package is assigned an installation level in the Feature table. If the installation level of a feature is lower than the level set by MsiSetInstallLevel, the feature is selected for installation. After MsiSetInstallLevel is called, you can explicitly change whether a feature is installed.

  2. Determine which states are available for a specified feature by calling the MsiGetFeatureValidStates function.

  3. Obtain the disk space requirements for a specified feature and its child features by calling the MsiGetFeatureCost function.

  4. Obtain the current state of a feature or component by calling the MsiGetFeatureState function or the MsiGetComponentState function.

  5. Change the state of the feature or component with the MsiSetFeatureState function or the MsiSetComponentState function.