Explain please what difference between Shared Add-ins (node Extensibilty) and VSTO add-ins (node Office)

Re: Visual Studio Tools for Office VSTO vs Extensibility

Cindy Meister

One difference is that Shared Add-ins are supported in the newsgroup interface

The VSTO Add-in functionality builds on the Shared Add-in technology. Basically, it's supposed to make it easier to use. Some main differences that come immediately to mind:

  • A VSTO Add-in is application-specific. You can write a shared add-in to work with multiple Office applications. But this also means you have to do a lot more work to determine what you're working with and doing type conversion. A VSTO Add-in handles all that for you.
  • A VSTO Add-in also takes care of making sure everything is COM visible and generating the necessary interfaces and GUIDs. With a Shared Add-in you have to do some of this work yourself.
  • All shared add-ins load in the same AppDomain, so if one causes a problem and is disabled ALL are disabled. In order to get around this you need to use a SHIM (created with C++). There is a standard Shim you can download from the Microsoft site and I understand it is (or will be) updated to support the new Ribbon and Custom Task Pane interfaces for Office 2007.

The VSTO Add-in sets up its own AppDomain and works with the VSTO loader (Microsoft Office Systems loader I think they call it, now). So no VSTO Add-in will interfere with any other Add-in.

  • I understand there are more issues with deploying a VSTO Add-in. And by default it deploys user-specific (rather than for the entire machine). This is by design, since control of Add-ins in the Office interface doesn't allow managing machine-level add-ins.

Re: Visual Studio Tools for Office VSTO vs Extensibility

Dennis Wallentin


Nice summary Cindy but I want to add the following:

  • VSTO only support Office 2003 Professional (and it's standalone versions but not the other packages) but support all Office 2007 versions. The next version of VSTO will only support Office 2007 and onforward.
  • Shared Add-ins supports Office 2000, 2002, 2003 and Office 2007.
  • The latest version of COM Shim Wizard works very good and it now also support Ribbon UI (Office 2007).
  • In order to develop a VSTO solution for both Office 2003 Pro and Office 2007 it's necessary to develop version specific solutions, i e one for Office 2003 and one for Office 2007 (either on two separate computers or by using virtualization on one computer). This is not necessary with Shared Add-ins. For more info please see Can you build one add-in for multiple versions of Office In addition, please also see the Why is VS development not supported with multiple versions of Office
  • Deployment of VSTO solutions can either be rather straightful or quickly turn into a nightmare depending on the requirements and Your skill & knowledge of deployment and CAS (Code Access Security).
  • The upcoming new version of VSTO is very good and make, among other things, the deployment process very simple. However, it does not solve todays issues with Office 2003.