Welcome to MSDN Blogs Sign in | Join | Help

Guidance Automation Extensions and Toolkit: June 2006 Release

The patterns & practices team is please to announce the availability of the June 2006 CTP of the Guidance Automation Extensions (GAX) and Guidance Automation Toolkit (GAT)! As reported previously, this is a relatively minor update to the previous December 2005 CTP which includes some important bug fixes and usability improvements.

What are GAX and GAT anyway?

GAX and GAT are really the foundation of Microsoft's Software Factories initative. Software Factories built on these technologies are collections of guidance that help architects and developers build specific types of applications with improved consistency, quality and productivity. This is achieved by integrating automated guidance related to the factory's application scenario deeply into Visual Studio - for example, using templates, wizards, recipes and code generation, along with supporting patterns and architectural documentation. The patterns & practices team is currently working on several Software Factories, including the Web Service Software Factory, Smart Client Software Factory and Mobile Client Software Factory.

The Guidance Automation Extensions (GAX) extend Visual Studio 2005 to provide the core runtime environment for the guidance packages included in these factories. GAX allows you to install and enable a guidance package for a Visual Studio Solution, and it will add the appropriate templates, recipes and wizards to the development environment to make it easy for you to complete tasks, such as adding a service interface or business entity to your web service solution. The new version of GAX also includes a new window called the Guidance Navigator which makes it easy to discover the available guidance and read any related documentation. You must have GAX installed before you can use any guidance packages.

The Guidance Automation Toolkit (GAT) provides a simple guidance package that lets you author new guidance packages or customize existing guidance packages. This is extremely important, since even though we are working hard to make our Software Factories as relevant as possible, each organization and project is different - so by customizing the guidance packages you can ensure that they fully meet your requirements and comply with your architecture and environment. You do not need GAT installed to use a guidance package, but over time it's likely you'll want to customize something so it's definitely worth installing now.

Should I upgrade from the previous release?

Yes - while this is a relatively minor update from the previous December 2005 CTP, it does contain some important fixes and enhancements as outlined earlier by Wojtek. Even more importantly, the wave of p&p Software Factories that will be hitting the streets over the next few months will require the new release, so upgrading is definitely recommended.

Unfortunately it is currently necessary to uninstall any guidance packages you already have installed (including GAT) before you can uninstall the old GAX. You can then install the new GAX and reinstall any guidance packages you want to use. Believe me we know this is a pain (we've gone through this process a lot in our projeccts) - so it's definitely something we'll work to improve in the future.

Will existing guidance packages still work with the June 2006 release?

In general, yes - but there are a couple of tricks you'll need to know.

First, there are some minor changes in the new version of the T4 text templating engine that we include in this release (it's the same version that's in the June 2006 release of DSL Tools). Depending on how the templates were originally authored, it may be necessary to make minor changes to any included T4 templates so they can run on the new version. In general this just involves adding the declaration <#@ assembly name="System.dll" #> to the top of the file.

The other thing to watch out for is that the version numbers for the GAX and GAT assemblies have changed. We install binding redirects with the new GAX to enable older guidance packages to redirect to the new versions - but this only works at runtime, not when compiling the source with Visual Studio. So if you open the source of an old guidance package with the new GAT/GAX installed, you will need to update your assembly references.

You can get more details on these issues in the Release Notes installed with GAX.

Why is this still a CTP? What's the future of this technology?

Like the previous releases, this new release is still labeled a Community Technology Preview. This is because the deliverables are still unsupported, and we can't promise to maintain compatibility as we continue to evolve the technologies. Keep in mind that both GAX and GAT are only designed to run on development machines, not production servers, so even if something does blow up, it's not going to blow up your production systems. That said, we've gone through the same quality gates with GAT and GAX as we do with any other p&p release, and we are confident we have a high quality release. Since all of our factories will depend on this technology, we need to be!

We really are very excited by the potential of this technology and of Software Factories, and we are continuing to work on enhancing the infrastructure, authoring environment and the factories themselves. While we don't yet have a solid product plan that we can commit to, we are working to significantly enhance these deliverables and integrate them much more deeply into Visual Studio and Team System. The goal is that eventually most of the capabilities you see in GAX and GAT will be absorbed into Visual Studio. We're going to need your help to figure out what areas we should be focusing on, so expect to hear much more about this work on my blog and on the Guidance Automation Toolkit Forum.

This posting is provided "AS IS" with no warranties, and confers no rights.

Published Saturday, June 24, 2006 9:41 AM by tomholl

Comments

Saturday, June 24, 2006 5:07 PM by Sam Gentile

# New and Notable 104

You know what? Owning a pool really sucks-). Oh, it’s great to go in but not a lot of fun spending most...
Saturday, June 24, 2006 6:13 PM by John

# re: Guidance Automation Extensions and Toolkit: June 2006 Release

For the T4 Engine do you know if you can create your own host (e.g. a console app) that can load an xml file and loop through it in order to call the t4 engine multiple times and pass custom objects to it (e.g. class, array of classes, xml etc)?

Many Thanks,

John
Sunday, June 25, 2006 11:41 AM by Jason Haley

# Interesting Finds: June 25, 2006 AM edition

# GAX and GAT released

Following up on my previous post. Check out Tom's&amp;nbsp;new article on this new release.
Very important...
Monday, June 26, 2006 4:18 AM by eXtensible Mind Lounge

# VS Add-ins are dead, part II

And probably you know the culprits&amp;nbsp;are the super-cool Guidance Automation Extensions (GAX)&amp;nbsp;and...
Monday, June 26, 2006 4:23 AM by Daniel Cazzulino

# re: Guidance Automation Extensions and Toolkit: June 2006 Release

Yes, definitely you can.
Get the DSL toolkit, which comes with full documentation on how to use and extend the T4 engine.
Monday, June 26, 2006 12:15 PM by El Bruno

# re: Guidance Automation Extensions and Toolkit: June 2006 Release

I really like to try and implement this technology, I make some tests with Dec CTP, and now I have a oportunity to make a "real" development based on Software Factories, I'll get this CTP and I'll start my tests !!!

And the question is; do you have any schedule date related to a "final" release of the GAT ???

Thanks ...  
Monday, June 26, 2006 3:52 PM by Jelle Druyts

# Guidance Automation June 2006 CTP

Monday, June 26, 2006 4:11 PM by Jelle Druyts

# GAS01: Introduction To The Guidance Automation June 2006 CTP

Monday, June 26, 2006 8:44 PM by Chris Osborne

# re: Guidance Automation Extensions and Toolkit: June 2006 Release

I response to John's question on T4. Yes it is possible to do this. I found a link to a really useful document from Microsoft (dv_dslconrd.chm) on a GarethJ's Blog (http://blogs.msdn.com/garethj/archive/2005/12/30/dsldocs.asp).
Monday, June 26, 2006 9:56 PM by Tom Hollander's blog

# July Community Drop of Web Service Software Factory

It must be the end of the fiscal year of something, because we have yet another new release to tell you...
Tuesday, June 27, 2006 12:44 AM by John

# re: Guidance Automation Extensions and Toolkit: June 2006 Release

Hi Chris,

Thanks for the link (doesn't seem to work on my end though :( ).

I'm pretty sure I've seen that chm file before.

I had a quick stab at doing this a couple of months back and I could create the host for the T4 engine but couldn't find a way of passing multiple objects to it (as described before, I am looking to have a custom console builder that loops through an xml file [solution config file] and calls the t4 engine passing specific objects which the template would consume. As far as I recall you have to specify data sources in the template file itself which isn't what I was after).

If anyone knows of an example of hosting the T4 engine and passing objects to the template that would be great.

Thanks,

John
Tuesday, June 27, 2006 12:13 PM by Federal Developer Weblog

# Web Service Software Factory: July Community Drop

&quot;Want to see the Enterprise Library application blocks in action in a realistic service oriented application?...
Tuesday, June 27, 2006 12:14 PM by Federal Developer Weblog

# Web Service Software Factory: July Community Drop

&quot;Want to see the Enterprise Library application blocks in action in a realistic service oriented application?...

# Federal Developer Weblog : Web Service Software Factory: July Community Drop

Tuesday, June 27, 2006 2:21 PM by Jay Urbanowicz

# re: Guidance Automation Extensions and Toolkit: June 2006 Release

HELP! Can't uninstall old version of GAX.
I get a message you must first uninstall WCFTooling, HoLPackage, guid DD259E37...
I've uninstalled even the CAB and EntLib Hol and WCF and tried msiZap with no luck.
Jay AT Accelerateddata.com
Tuesday, June 27, 2006 2:45 PM by tomholl

# re: Guidance Automation Extensions and Toolkit: June 2006 Release

Hi Jay -

Unfortunately it's relatively easy to get into states where guidance packages don't want to uninstall. Here are some tips:

First try to uninstall all guidance packages cleanly:

1. If they were installed through an MSI, try to remove it using Add/Remove Programs.
2. If they were installed using code, open the solution and run GAT’s Unregister recipe

Make sure you do not uninstall GAT until all code-registered packages have been removed!

If there are packages that cannot be removed, here is how to remove them manually:

1. Open C:\Documents and Settings\All Users\Application Data\Microsoft\Recipe Framework\ReceipeFramework.xml
2. Remove any or all of the <GuidancePackage> elements from the file (actually it’s a good idea to paste them into another window so you know which packages you have to clean out of the registry), and save the file
3. Open the registry and look for the following keys under HKLM\Software\Microsoft\VisualStudio\8.0
- Packages\{77d93a80-73fc-40f8-87db-acd3482964b2}\Templates : Delete all subkeys that refer to guidance packages you don’t want any more (they will have GUIDs as their key names)
- Languages\CodeExpansions\CSharp\Paths : Delete all values that refer to guidance packages you don’t want any more
- Menus : Delete all values that refer to guidance packages you don’t want any more (they will probably be at the bottom after all the ones named after GUIDs)
- NewProjectTemplates\TemplateDirs : Expand each of the subkeys (they will have GUIDs as names) and expand the /1 key below that. If you find one whose (Default) value is named after an unwanted guidance package, delete the entire GUID key and the /1 key below that.
4. If any of the guidance packages you removed manually were installed from an MSI, run msizap to clean up the MSI-related registry settings.
Wednesday, June 28, 2006 6:58 PM by Oscar Calvo's Blog

# GAX CTP June 2006 is out

I am happy to announce the release 1.1 of GAX.

Read more about this release at: http://blogs.msdn.com/tomholl/archive/2006/06/24/645882.asp...
Saturday, July 01, 2006 11:00 PM by Sam Gentile

# July Web Service Factory is Out!

The July drop of the Web Service Factory or Service BAT is out! I am super excited about this as it is...
Friday, July 07, 2006 10:41 PM by Jason Haley

# Interesting Finds: July 7, 2006

Wednesday, September 06, 2006 12:03 PM by Mariano Szklanny

# Removing guidance packages manually

Have you ever tried to remove a guidance package and got an error during the uninstallation process,...
Friday, September 22, 2006 5:42 PM by GAX, GAT, EL, SCSF « Tales from a Trading Desk

# GAX, GAT, EL, SCSF &laquo; Tales from a Trading Desk

Sunday, October 01, 2006 2:34 AM by Sam Gentile

# New and Notable 104

You know what? Owning a pool really sucks-). Oh, it&amp;rsquo;s great to go in but not a lot of fun spending

# Getting back to basics&#8230;.Guidance Automation at objectwire

Wednesday, June 13, 2007 2:07 PM by Daily Devscovery

# Aplication Block Software Factory Install

I have had my share of struggle when trying to install Ent. Lib 3.0 and getting Application block Software

# Uninstalling a GAT Package Manually &laquo; Providing Thoughts On Development

Tuesday, December 11, 2007 7:13 PM by Sam Gentile

# July Web Service Factory and Smart Client BAT is Out!

Both the July drop of the Web Service Factory or Service BAT is out and the June SCBAT are out. I am

Sunday, July 06, 2008 9:23 PM by Geek Noise

# Guidance Automation Extensions and Toolkit: June 2006 Release

Guidance Automation Extensions and Toolkit: June 2006 Release

Thursday, December 04, 2008 5:50 PM by Sam Gentile's Blog

# July Web Service Factory and Smart Client BAT is Out!

Both the July drop of the Web Service Factory or Service BAT is out and the June SCBAT are out. I am super excited about this as it is nearing V1 and we are using both of these in production code. I have been blogging about the Service Bat since the begining

New Comments to this post are disabled
 
Page view tracker