|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Designing a Wizard
You might need to create projects with standardized features that differ from the application wizards that are provided in Visual C++. For such tasks, you can use the Visual C++ wizard architecture, which is designed for easy extensibility and customization. You can create a wizard using the Visual C++ Custom Wizard. After you create your wizard, you can configure it to generate the starter files you need for your projects.
A Visual C++ wizard is an HTML control. It uses the Visual C++ wizard engine, IVCWizCtlUI, which provides common services, such as NavigateToCommandHandler, OkCancelAlert, and so on. The wizard also uses the script engine, which allows a wizard to understand both VBScript and JScript.
The wizard architecture allows you to access the following object models directly in your wizards, and call their methods, properties, and events from either the JScript or the HTML files. (See the examples in The HTML Files and The JScript File for more information.)
See Files Created for Your Wizard for a description of each element of designing a wizard.