VSTO support for Outlook

VSTO support for Outlook

Steve Ballmer announced VSTO support for Outlook add-ins in his Tech-Ed keynote today. This is exciting news--VSTO Outlook add-ins solve all the problems people have encountered while trying to build managed COM add-ins for Outlook using IDTExtensibility2. For example:

1) VSTO Outlook add-ins load into their own AppDomain--there is no longer a need for you to create a custom C++ shim.2) VSTO Outlook add-ins solve the "Outlook won't shut down" issue--you no longer have to track every Outlook object you use and set it to null and force a garbage collection or even worse call ReleaseCOMObject on anything. Your add-in will always cleanly shut down.3) VSTO Outlook add-ins solve the "Trust all installed templates and add-ins" issue. Because the VSTO Outlook add-in loader technology uses the same runtime and security model used by VSTO, if your add-in is trusted by .NET policy, it will work even when Trust all installed templates and add-ins is unchecked.4) The VSTO Outlook add-in project is all wired up and ready to go. Create a new project, press F5, and Outlook starts up. No extra settings to configure.5) VSTO Outlook add-ins have a nice strongly typed programming model that is very similar to the VSTO Word & Excel programming models. Say goodbye to the old COM-centric IDTExtensibility2 interface. The Outlook add-in project has a code item called ThisApplication.cs or ThisApplication.vb where you write your code. Instead of being passed a weakly typed application object, the ThisApplication class you write your code derives from a base class that wraps the Outlook application object so you can use "this" in C# and "me" in VB to get to Outlook Application properties, methods, and events. Here what code in a VSTO Outlook add-in looks like: