GAX/GAT February 2008 Final Release


The Guidance Automation Extensions (GAX) expands the capabilities of Visual Studio by allowing architects and developers to run guidance packages, such as those included in Software Factories, which automate key development tasks from within the Visual Studio environment.


The Guidance Automation Toolkit (GAT) is a guidance package which allows architects to author rich, integrated user experiences for reusable assets including Software Factories, frameworks, and patterns. The resulting Guidance Packages, composed of templates, wizards and recipes, help developers build solutions in a way consistent with the architecture guidance. In order to use the Guidance Automation Toolkit, you must first install the Guidance Automation Extensions.


New In This Release


 


The February 2008 Release of the Guidance Automation Extensions and Guidance Automation Toolkit has the following improvements to the earlier release, the July 2007 Community Technology Preview:


       Support for Visual Studio 2005 and/or Visual Studio 2008. This version of GAX will run on either version of Visual Studio. If you don’t have GAX installed, you can install GAX to support Visual Studio 2005 or Visual Studio 2008 or both. The installer will automatically determine which versions of Visual Studio you have installed.


       Updating GAX.


§  If you have a previous version of GAX installed on Visual Studio 2005, it will be updated to the February 2008 release of GAX. You are no longer required to uninstall GAX and the corresponding guidance packages.


§  Guidance packages that are registered with the previous version of GAX will automatically be registered with the current version of GAX (GAT, however, will require an update – see the information below).


       Visual Studio side-by-side support. If you have Visual Studio 2005 and Visual Studio 2008 running side-by-side, you can have GAX running against both versions. Guidance packages developed and registered through GAT for a specific version of Visual Studio (2005 or 2008) will only be available in that version. Guidance packages designed for Visual Studio 2005 and installed through an MSI will only be available in Visual Studio 2005. Installation of any guidance package through an MSI that does not explicitly prompt for the version of Visual Studio to install to, will install to Visual Studio 2005 by default.


       Improved Uninstaller. During GAX uninstallation, you can click the Check Installed Packages button for the list of all registered guidance packages. If you proceed with GAX removal, the uninstaller will only attempt to automatically uninstall those guidance packages that were registered manually using GAT. If you have guidance packages that were installed through an MSI(s), you should not proceed with removing GAX. Instead, you should use the Add or Remove Programs tool to uninstall these guidance packages.


In addition, this release of GAX has the following fixes:


       A blank error message was displayed if you attempted to uninstall GAX before uninstalling GAT or other registered packages when running Windows Vista.


       A FileLoadException error was displayed if you used the Guidance Package Manager on Visual Studio 2008 Professional.


       GAX and GAT would not properly validate and recognize custom Visual Studio project types when unfolding templates for custom project types registered only in the experimental hive.


 


Downloads 


GAX and GAT must be downloaded and installed separately. GAT requires that GAX is installed first.


If you have a previous version of GAX installed on Visual Studio 2005, it will be updated to the February 2008 release of GAX. You are no longer required to uninstall GAX and the corresponding guidance packages (with an exception of GAT, which must be re-installed).



 


Enjoy!

Comments (21)

  1. Jose Escrich says:

    Finally, and after a grand effort, we got a final release of GAX/GAT February 2008 Release . Mainly the

  2. Finally, and after a grand effort, we got a final release of GAX/GAT February 2008 Release . Mainly the

  3. Grigori Melnik announced the February 2008 release of the Guidance Automation Toolkit (GAT) and Guidance

  4. The final release of Guidance Automation Extensions (GAX) and Guidance Automation Toolkit (GAT) provides

  5. Microsoft patterns & practices has announced the February 2008 release of the GAT and GAX. This new

  6. Microsoft patterns & practices has announced the February 2008 release of the GAT and GAX. This new

  7. GAT/GAX February 2008 Final release is now available. Grigori Melnik from patterns & practices posted

  8. GAT/GAX February 2008 Final release is now available. Grigori Melnik from patterns & practices posted

  9. Just a quick note as I’ve had my body pretty much surgically attached to my laptop and various (geeky)

  10. Just a quick note as I’ve had my body pretty much surgically attached to my laptop and various (geeky

  11. higaurav says:

    Hi Grigori!

    I have a query regarding the licensing issue for usage of GAX/GAT Feb 2008 release for my commercial project.

    In particular I intend to develop a Smart Client Web application which I intend to also host on a web site for commercial usage. But while going through the GAX installation licensing terms it states that

      You may not

             * use the software for commercial software hosting services.

    Does this clause anyhow restrict me from developing an application for the above scenario?

    I’ve even posted a query on the MSDN forum, but no one has yet responded to the same. http://forums.microsoft.com/msdn/ShowPost.aspx?postid=2902317&isthread=true&siteid=1&authhash=ed86510fbf24cf255b1c507aed729142da523704&ticks=633395207716715297

    Can you please help me on this issue of GAX/GAT usage for commercial use.

    Thanks in advance.

    Gaurav.

    http://www.anurakti.com

  12. SirReal says:

    Hello Grigori, I had a couple of questions:

    1.) I read on the Wikipedia site that EL 4.0 was due out in mid March; is this accurate/close?

    2.) Does EL 4.0 integrate with Framework 3.5?  Anything specific to Framework 3.5 in it?

    3.) I’m trying to use the DAAB QuickStart, but don’t want to have to be bothered with memberships/roles, etc. that seem to be in there (reference to the "machine.config" connection string to attach to that db).  I don’t have Express Ed., but full Dev. Ed. and user instancing isn’t available on Dev. Ed., so I’m trying to figure out how to avoid the ASP attaching part.  I guess I could just manually load the roles database and just connect to it, but I don’t seem to have that MDF on my system at all (only versions provided by other code samples, but not sure if I can use 1 of these successfully with the QuickStarts).  How can I either produce an empty MDF to manually attach – or, avoid that connection in the QUickStarts?  I think the answer is going to be to look for that code in the QuickStart and didsable it!  Just not sure if that code’s in the QuickStart or EL code.

    Thankis!

  13. gmelnik says:

    @Gaurav

    Yes, you are allowed to use GAT and SCSF for developing redistributable packages for your clients – this is in the GAT license.

    You cannot deploy GAX on the server on a standalone basis for others to access. If the GAX runtime is needed for your clients to use your app, you should direct the users to download it from the Microsoft Download Center.

  14. gmelnik says:

    @SirReal

    re: 1)

    See http://blogs.msdn.com/agile/archive/2008/02/27/entlib-unity-roadmap.aspx

    re: 2)

    EL 4.0 targets .NET3.5. WMI2 support is only available in .NET3.5.

    re: 3)

    Yes, you have to modify the quickstart config. Just remove the SQLEXPRESS part of the database and use local.

  15. SirReal says:

    Excellent, thanks Grig (and thanks for the speedy reply).

    Again my only issue with updating the QuickStart config is that I have to attach the ASPNETDB 1st, correct (then I can change from ".EXPRESS" to "(local)"), but I don’t actually have an ASPNETDB.mdf on my machine.  I need to either disable the attempt to connect to this in the code (QuickStart or EL?  Not sure), or somehow get a hold of an ASPNETDB.mdf compatible with the QuickStart example.  Any advice would be great, thanks!

    2.) Also, I seem to have messed something up when playing around with the config files, but I thought I put them back exactly as they were; I even uninstalled EL 3.0 and installed 3.1 to get around what looked like an assembly signing issue, but no luck.  This the exception detail:

    =====================================================================System.Configuration.ConfigurationErrorsException was caught

     Message="An error occurred creating the configuration section handler for dataConfiguration: Could not load file or assembly ‘Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) (C:\!Dev\Microsoft\Patterns and Practices – May 2007\Enterprise Library 3.1 Source Code\Quick Starts\Data\CS\DataAccessQuickStart\bin\Debug\DataAccessQuickStart.vshost.exe.config line 3)"

     Source="System.Configuration"

     BareMessage="An error occurred creating the configuration section handler for dataConfiguration: Could not load file or assembly ‘Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)"

     Filename="C:\!Dev\Microsoft\Patterns and Practices – May 2007\Enterprise Library 3.1 Source Code\Quick Starts\Data\CS\DataAccessQuickStart\bin\Debug\DataAccessQuickStart.vshost.exe.config"

     Line=3

     StackTrace:

          at System.Configuration.BaseConfigurationRecord.FindAndEnsureFactoryRecord(String configKey, Boolean& isRootDeclaredHere)

          at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)

          at System.Configuration.BaseConfigurationRecord.GetSection(String configKey, Boolean getLkg, Boolean checkPermission)

          at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)

          at System.Configuration.ClientConfigurationSystem.System.Configuration.Internal.IInternalConfigSystem.GetSection(String sectionName)

          at System.Configuration.ConfigurationManager.GetSection(String sectionName)

          at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSourceImplementation.GetSection(String sectionName) in c:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcCommonConfigurationSystemConfigurationSourceImplementation.cs:line 62

          at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.SystemConfigurationSource.GetSection(String sectionName) in c:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcCommonConfigurationSystemConfigurationSource.cs:line 58

          at Microsoft.Practices.EnterpriseLibrary.Data.DatabaseConfigurationView.get_DatabaseSettings() in C:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcDataDatabaseConfigurationView.cs:line 58

          at Microsoft.Practices.EnterpriseLibrary.Data.DatabaseConfigurationView.get_DefaultName() in C:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcDataDatabaseConfigurationView.cs:line 71

          at Microsoft.Practices.EnterpriseLibrary.Data.DatabaseMapper.MapName(String name, IConfigurationSource configSource) in C:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcDataDatabaseMapper.cs:line 38

          at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.ConfigurationNameMappingStrategy.BuildUp(IBuilderContext context, Type t, Object existing, String id) in c:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcCommonConfigurationObjectBuilderExtensionsConfigurationNameMappingStrategy.cs:line 51

          at Microsoft.Practices.ObjectBuilder.BuilderBase`1.DoBuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies)

          at Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp(IReadWriteLocator locator, Type typeToBuild, String idToBuild, Object existing, PolicyList[] transientPolicies)

          at Microsoft.Practices.ObjectBuilder.BuilderBase`1.BuildUp[TTypeToBuild](IReadWriteLocator locator, String idToBuild, Object existing, PolicyList[] transientPolicies)

          at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp[T](IReadWriteLocator locator, IConfigurationSource configurationSource) in c:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcCommonConfigurationObjectBuilderEnterpriseLibraryFactory.cs:line 115

          at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.EnterpriseLibraryFactory.BuildUp[T](IConfigurationSource configurationSource) in c:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcCommonConfigurationObjectBuilderEnterpriseLibraryFactory.cs:line 97

          at Microsoft.Practices.EnterpriseLibrary.Common.Configuration.ObjectBuilder.NameTypeFactoryBase`1.CreateDefault() in c:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcCommonConfigurationObjectBuilderNameTypeFactoryBase.cs:line 52

          at Microsoft.Practices.EnterpriseLibrary.Data.DatabaseFactory.CreateDatabase() in C:!DevMicrosoftPatterns and Practices – May 2007Enterprise Library 3.1 Source CodeApp BlocksSrcDataDatabaseFactory.cs:line 45

    =====================================================================

    I haven’t touched the "PublicKeyToken" value, and it’s the same in app.config as it is in DataAccessQuickStart.vshost.exe.config.  THANKS!

  16. SirReal says:

    UPDATE: Other research I’ve done seems ti indicate a problem with code securty or assembly signing, but I haven’t touched anything from the base EL 3.1 install; can’t see how these be problems for me…

  17. Now that Web Client Software Factory Shipped and the team is focusing on Prism (the composite scenario

  18. Some time ago, I wrote a post about How to update the installer to run Smart Client Software Factory

  19. Some time ago, I wrote a post about How to update the installer to run Smart Client Software Factory