This class is defined in IWizardComponent.h and is a useful base class for creating components that need access to the wizard services, such as component creation and logging.
As an example, here is how the CopyFilesTask component is defined:
class CopyFilesTask : publicWizardComponent<ITask>
The parameter for this template class is the “main” interface you want to use for your component, which in the case of tasks is ITask. Using WizardComponent means that your component supports both the interface your provide (ITask in this example) and IWizardComponent.
Whenever you use the class factory registry to create a new component, the registry calls the component’s IWizardComponent->SetContainer method to provide your component access to the wizard services.