Hi,
I wrote a guidance package for Visual Studio 2k8 on top of the February 2008 release. The guidance package itself works fine, but when I uninstall it I run into a bit of a hiccup. The uninstall completes normally and removes the guidance package. However, after I've uninstalled the package if I attempt to create another guidance package from the GAT Guidance Package template I recieve the following error:
Error Message
Microsoft.Practices.RecipeFramework.ActionExecutionException: An exception occurred during the binding of reference or execution of recipe CreateGuidancePackage. Error was: Action SetPostBuildEvent failed to execute:
Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
You can remove the reference to this recipe through the Guidance Package Manager. ---> System.Runtime.InteropServices.COMException (0x8002801D): Library not registered. (Exception from HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))
at EnvDTE.Project.get_Properties()
at Microsoft.Practices.RecipeFramework.MetaGuidancePackage.Actions.SetSetupPostBuildEventAction.Execute()
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionExecutionService.Execute(String actionName, Dictionary`2 inputValues)
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionExecutionService.Execute(String actionName)
at Microsoft.Practices.RecipeFramework.Recipe.Microsoft.Practices.RecipeFramework.Services.IActionCoordinationService.Run(Dictionary`2 declaredActions, XmlElement coordinationData)
at Microsoft.Practices.RecipeFramework.Recipe.ExecuteActions(IDictionaryService readOnlyArguments, IDictionaryService arguments, ITypeResolutionService resolution)
--- End of inner exception stack trace ---
at Microsoft.Practices.RecipeFramework.Recipe.UndoExecutedActionsAndRethrow(Exception ex)
at Microsoft.Practices.RecipeFramework.Recipe.ExecuteActions(IDictionaryService readOnlyArguments, IDictionaryService arguments, ITypeResolutionService resolution)
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.ExecuteFromTemplate(String recipe, IDictionary arguments)
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.UnfoldTemplate.ExecuteRecipe(Boolean executeActions)
at Microsoft.Practices.RecipeFramework.VisualStudio.Templates.UnfoldTemplate.RunFinished()
---> Microsoft.Practices.RecipeFramework.UndoActionException: Action CreateProjectAction failed to perform undo operation:
The method or operation is not implemented. ---> System.NotImplementedException: The method or operation is not implemented.
at EnvDTE.Project.Delete()
at Microsoft.Practices.RecipeFramework.Library.Actions.CreateProjectAction.Undo()
at Microsoft.Practices.RecipeFramework.Recipe.UndoExecutedActionsAndRethrow(Exception ex)
--- End of inner exception stack trace ---
I'm still able to open and register previously existing packages in Visual Studio, but if I attempt to build the automatically generated setup project I get a 'build failed' message (with no further information).
Running repair on GAX/GAT (and outright reinstallation of either or both) do not fix the problem. Running Visual Studio's repair tool does fix the problem, but another uninstallation takes me back to square one.
This problem only occurs with this specific guidance package I've built.
I have relatively little (read: none) experience with building installer packages, which, combined with sheer amount of time visual studio's repair takes, is making it very difficult to isolate the problem peice in my code.
Any insights into what might be causing this, or at least a faster way to repair the problem, would be much appreciated.
Thanks