The Component Platform Interface (CPI) contains all of the classes and interfaces that are used to programmatically create answer files for Windows Setup, expose all of the settings in a Windows image, and other tasks. The following list describes the different classes, interfaces, and enumerations that are used in the CPI API.

Generating catalog file requires administrator permissions. If your CPI application generates catalog files, run the application in an administrator context. In Windows Vista, you can run the application in an elevated privilege context by right-clicking the executable file and then selecting Run Elevated. In Windows XP and Windows 2003, you can press the SHIFT key, right-click in your application in Windows Explorer, and then select the Run as command.


Class Description
AnswerFile Contains information that describes a Windows unattended Setup answer file. The answer file is typically called Unattend.xml.
AnswerFileComponentSetting Represents the root of component setting overrides in an answer file object.
AnswerFileComponentSettingCollection Represents the collection of all components with setting overrides inside an answer file.
AnswerFileComponentSettingOverrideCollection Represents all setting overrides of a component in a certain configuration pass in an answer file.
AnswerFileSettingOverride Contains the answer file settings override.
AnswerFileSettingOverrideCollection Represents the collection of answer file setting overrides.
AnswerFileValidationResultCode Controls the validation warnings and errors of the answer file.
AnswerFileWindowsFeatureSelection Represents a Windows feature selection in a PackageAction.
AnswerFileWindowsFeatureSelectionCollection Represents the public Windows feature selection collection for a PackageAction that supports creation.
CatalogCreatorEventSink Interacts with ImageCat.exe catalog creation utility. This class is used by Image Manager and is documented for reference purposes only.
CatalogValidationResultCode Represents a category of validation results that indicates problems with offline image catalogs.
ComponentSetting Represents a component setting either in a Windows image or in an answer file.
ComponentSettingDefinitionCollection Represents the public collection of component setting definitions that supports search.
ComponentSettingOverrideCollection Represents the collection of all setting overrides in a component.
Cpi Represents the root object for Cpi.
CpiResult Describes the operation results.
CpiResultCode Contains the validation error codes for the Cpi class.
CreateCatalogProgressChangedEventArgs Represents the event arguments used in CatalogProgressUpdate.
CreateConfigurationSetProgressChangedEventArgs Specified the event arguments used in CreateConfigurationSetProgressChanged.
DistributionShareInfo Represents information on a distribution share.
DriverPath Encapsulates answer file actions required for Windows Setup to install out-of-box device drivers.
DriverPathCollection Extracts a collection of DriverPath from an answer file.
FindPackageProgressChangedEventArgs Represents the event arguments used in the FindPackageProgressChanged event.
Identity Represents the identity of a Windows component.
ImageWindowsFeatureSelection Represents Windows feature selection in an instance of Package or PackageAction.
MergeXmlEventArgs Represents the argument for XML-merging confirmation prompts. When you merge XML files, the content may overwrite the existing setting overrides. In this situation, the answer file triggers an event asking for confirmation to overwrite.
OfflineImage Defines the base class that represents an offline Windows image.
OfflineImageInfo Represents an offline Windows image without opening the Windows image.
OfflineImageValidationResultCode Represents a category of validation results that indicates problems with offline Windows images.
Package Represents a software package.
PackageAction Represents a package action entry in the answer file. A package action is created for a package in a Windows image or from a package file.
PackageActionCollection Represents all package actions that have been added to an answer file.
PublishResultCode Represents a category of validation results indicating problems with the configuration set.
Generic ReadOnlyKeyedCollection Provides a read-only adapter on an existing Generic ReadOnlyKeyedCollection.
RunOnceCommand Represents a synchronous command run during Windows Setup.
RunOnceCommandCollection Represents the public RunOnceCommand collection that supports collection objects creation.
SettingDefinition Describes the definition of a setting.
SettingOverride Represents a setting override.
SimpleCpiResult Represents a simple CpiResult type that does not contain inner results.
SourcePath Represents the source path for the package.
SourcePathCollection Represents a concrete class for the SourcePath collection.
WimInfo Represents a Windows image (.wim) file.
WindowsFeatureValidationSubject Specifies the subject object associated with an instance of CpiResult.


Interface Description
IAnswerFileSettingOverrideContainer Represents the interface for objects in an answer file that contains child overrides.
ICatalogCreator This class is for internal use only and is included for reference purposes only.
IScalarSettingPropertyDescriptor Defines an interface that indicates a property that can be mapped to a single entry in an answer file.
ISettingDefinitionContainer Defines the interface used to navigate the setting definition hierarchy of a component.
ISettingOverrideContainer Defines the interface to navigate the setting override hierarchy of a component.


Enumeration Description
ConfigurationPass Defines the list of configuration passes used by Windows Setup.
ConfirmOverwriteResult Designates whether to overwrite an existing override value when using MergeXml.
CpiResult.Status Describes the status of the operation. Numerical values are in order of severity, with 0 being the lowest.
CreateOptions Determines whether to return the existing entity or to throw an exception when an entity already exists.
OfflineImageInfo.ImageType Represents the enumeration that indicates the source of an instance of OfflineImage.
PackageActionType Represents the type of package action.
PackageReleaseType Represents the type of the package.
PermanenceType Represents the permanence of a package.
RunOnceCommandRebootRequest Defines the reboot request of a run-once command.
SensitiveDataOption Specifies the different options available for sensitive data. Sensitive data, such as local account passwords, can be hidden in an answer file. Domain account passwords, product keys, and other data are not hidden with this option. Only local account password information can be hidden.
SettingOverride.ActionType Represents the action of the override, such as modify, or remove or add a list item.