Guidance Automation troubles

Topics: CAB & Smart Client Software Factory
Mar 28, 2006 at 11:01 AM
originally posted by: sklett

I'm trying to add a CAB module to my CAB application using the Guidance Automation stuff that I installed with the SC-BAT. When I right click in the solution explorer and choose "CAb Module" I then give a name to the project, then a dialog pops up prompting for a "module namespace" - problem is, I can't type in the field, it's disabled.. as are all the bottons on the dialog.

I have also tried this with the appraisers workbench project.... same problem.

Anyone have any tricks to get this working?

Apr 1, 2006 at 1:32 PM
originally posted by: mmbaker65

Check the bottom of your .sln for a section named GlobalSection(ExtensibilityGlobals). If you have one, be sure that the item "RootNamespace" has a value. If the section or the item is missing, you will get this kind of behavior.

Apr 4, 2006 at 2:47 PM
originally posted by: sklett

Hi Mark,

I just opened up the sln and I don't have the section you mention. I have:

From your post, i don't get the impression that I should try and add this missing section... should I?
Apr 4, 2006 at 2:54 PM
originally posted by: sklett

Well, I went ahead and tried to add it. preSolution made VS think it was corupt, postSolution seemed to have done the trick. It's showing the namespace as "PMD".FunctionTest where "PMD" is the string I entered in the sln file and FunctionalTest is what I entered as the module name.

I was then greeted with the follwing exception:
"Microsoft.Practices.RecipeFramework.RecipeExecutionException: An exception occurred during the binding of reference or execution of recipe CreateModule. Error was: The following arguments are required and don't have values: ShellProjectGuid, CommonProjectGuid, ShellProject. Can't continue execution..
You can remove the reference to this recipe through the Guidance Package Manager.
at Microsoft.Practices.RecipeFramework.Recipe.ThrowIfRequiredArgumentsAreNull(IDictionaryService arguments)
at Microsoft.Practices.RecipeFramework.Recipe.Execute(Boolean allowSuspend)
at Microsoft.Practices.RecipeFramework.GuidancePackage.Execute(String recipe, IAssetReference reference, IDictionary arguments)
at Microsoft.Practices.RecipeFramework.GuidancePackage.Execute(String recipe, IDictionary arguments)
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.UnfoldTemplate.ExecuteRecipe(Boolean executeActions)
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.UnfoldTemplate.RunFinished()"

so it looks like I will need to recreate my entire solution u sing the Guidance Package stuff if I want it to be compatible with the automation stuff.

This has been a learning experience indeed...
Apr 5, 2006 at 5:01 AM
originally posted by: BradWilsonMSFT

Yep, the SC-BAT guidance package makes a lot of assumptions not only about the layout of your SLN file, but also about what kinds of things it's going to find in which projects.
Apr 5, 2006 at 5:11 AM
originally posted by: PJackson

I've had some success adding the section to an existing solution.

Due to the nature of our projects, we have separate groups devloping the "ShellProject" and "CommonProject" than develop the applications and we have a layer between them.

One change that I had to make was to reference Common by name instead of GUID in some cases, but it all seems to be working fine.
Apr 6, 2006 at 3:15 AM
originally posted by: sklett


If I were to go through the work of recreating my CAB app using the guidance and automation recipes... how confident can I be that the next release of these "Guidance Packages" (I'm really not sure what to call them, there are so many names floating around) will be compatible with my application?

Most of the complaints from the Guidance Packages seems to be about missing GUIDs. Can I add those after the fact or is this something hard coded into the recipe?
Apr 6, 2006 at 3:17 AM
originally posted by: sklett

Thanks, I am having this same issue. I'll look into what you are doing with the name vs GUID.

Thanks again!