All project wizards have to implement this interface :
namespace SharpDevelop.Internal.Templates { public interface INewProjectWizard { void StartWizard(Form mainWindow, INewProjectCreator creator); } }
The mainWindow is only for setting the Owner property correctly (and maybe for really advanced wizards to cast it to a MainWindow).
public interface INewProjectCreator { Combine Combine { get; } bool IsFilenameAvailable(string fileName); void SaveFile(IProject project, string filename, string content, bool showFile); }