About: VSTO for Outlook

API Type:   UI Customization
API Interface: .NET
Business Logic: Adds features to the Outlook UI and to Outlook processing.
Development Languages: .NET, OOM.
Property Access: Yes
Product Versions: Visual Studio 2005 and later, Office 2003 and later.


Outlook VSTO add-in development allows you to write add-inapplications which will run in Outlook from Office.

Points of Interest:

  • You can use Visual Studio to generate a stub project.
  • Outlook VSTO add-ins run only in Outlook from Office.
  • The capabilities of this API for are overall greater than what is available with the Add-ins for Outlook API.
  • Outlook Object Model code is used for doing work.
  • Work with Outlook events.
  • EWS code can be used to provide more robust capabilities.  You can convert between the identifier used under VSTO and EWS using the EWS conversion API.
  • Don't use Outlook Object Model off the mail thread – it's not supported.
  • You need to understand the issues with bitness when building applications using Outlook Object Model (OOM).  If you do not, then you may likely run into issues during deployment.
  • Outlook PIA's (Primary Interop Assemblies) are overall forward compatible.  However, you may have issues if you build an application for one version of Outlook but use it with an older version.
  • If you use COM components in your add-in then you need to account for bitness issues in your builds and deployment.

More Information:

Office Solutions Development Overview (VSTO)

Create VSTO Add-ins for Office by using Visual Studio

Walkthrough: Creating Your First VSTO Add-In for Outlook

Simple Outlook Add-in with VSTO 3.0

Improving the Performance of a VSTO Add-in


VSTO: The Basics

Office Add-in (VSTO) Performance Tips & Tricks

VSTO: How to Add a Button into the Office Ribbon

Outlook Context Menus and Creating a Meeting from an Email

Outlook Object Model Overview

Creating Outlook Form Regions

Ribbon Overview

Customizing a Ribbon for Outlook

Custom Task Panes

More Information:

Getting Started (Office Development in Visual Studio)

Office Development Samples and Walkthroughs

General Reference (Office Development in Visual Studio

Managed Reference (Office Development in Visual Studio)

Office Development Samples and Walkthroughs

Securing Office Solutions

Deploying an Office Solution

Unmanaged API Reference (Office Development in Visual Studio)

About: Outlook Object Model (OOM)

About: Mailbox Accessing APIs http://blogs.msdn.com/b/webdav_101/archive/2015/05/28/about-mailbox-accessing-apis.aspx


VSTO - How to Customize Outlook's User Interface (Visual Studio 2012)

Simple Outlook Add-in with VSTO 3.0


Any CPU is best to ONLY be use pure .NET code applications and not when you have .NET code using COM objects. If you use COM components in your add-in then you need to be sure that you have builds targeted for the platform you are targeting. Not targeting for x86 or x64 may get you into trouble at deployment time. As an example if you use a 32bit COM component on a 32bit version of Windows and 32bit version of outlook while developing you will find that the code may not work on a 64bit system running 32bit version of Outlook if you compile as Any and don't release with 64bit versions of those COM components. Any CPU will be handled as 64bit on a 64bit system and since you cannot mix 32bit COM objects in a 64bit process (or 64bit COM components in a 32bit process) the code will fail. Likewise, if you target your project as x86 and try to use it on a 64bit version of Outlook then it won't work either.

Bitness : How to identify Outlook 2010 installation is a 32-bit or 64-bit?

Example: Outlook 14.0 32bit under 64bit Windows 10 the bitness flag is x86 here:


Example: Outlook 14.0 32bit under 64bit Windows 10 the bitness flag is x86 here:


64-bit editions of Office 2010 https://technet.microsoft.com/en-us/library/ee681792(office.14).aspx

How to: Check the Version of Outlook https://msdn.microsoft.com/en-us/library/office/dd941331.aspx

How to: Determine Whether Outlook Is a Click-to-Run Application on a Computer https://msdn.microsoft.com/en-us/library/office/ff522355.aspx

Developing Outlook 2010 Solutions for 32-Bit and 64-Bit Systems https://msdn.microsoft.com/en-us/library/office/gg549122(v=office.14).aspx

The newer model for add-ins is Mail Apps for Outlook:

About: Mail Apps for Outlook