Okay, I've figured out what I need to do to create the Web Setup Project.
1. In my CreateWebSetupCustomAction I set an string output property called "Template" with the following (abbreviated) code:
this.template = string.Format("{0
}WebSetup.vdproj", sln.get_TemplatePath("{54435603-DBB4-11D2-8724-00A0C9A8B90C}")); //GUID is the VS project type for Setup Proejcts.
2. I then pass this value as an ActionOutput to the CreateProjectAction action provided in the GAT (along with the other requried parameters).
This seems to work just fine. It appears that the CreateProjectAction can be used to create projects of just about any type, not just .vstemplate files.
I now have one problem with my Web Setup Project left. I need to include some GAC assemblies to the project after it is created. Does anyone know how to:
A) Add a "Special Folder" to the File System of a Setup Project? The AddFolderAction in the Microsoft.Practices.Library.Actions.Vsd naemspace does not appear to support "Special Folders", only "Custom Folders". I get an exception when I try to add a folder "Global Assembly Cache Folder", presumably because this name is reserved for as a Special Folder.
B) Add a file from the Global Assembly Chache to the GAC Folder in a Setup Project? Similar to A) the AddFileAction appears to only support addinf files from the file system, and not from the GAC. I tried passing the strong name of an assembly in the GAC, but when I ran the recipe, my VS environment totally barfed...crashing completely.
Any help is much appreciated.
Dave