A custom assembly is registered and supported for extending a wizard, such
as a template wizard, to perform custom actions. A data file is provided
to a wizard. The wizard generates project files, which are then adjusted
based on an assembly with custom code. The assembly with custom code may
provide a user-created custom interface that receives user input and
adjusts the project files accordingly. These project files may be
associated with the template.