Get started with VSTA help content

The Visual Studio 2005 Tools for Applications (VSTA) SDK ships with a complete set of conceptual articles, code samples and step by step instructions to help you become productive with VSTA quickly. When you install the Visual Studio 2005 SDK, and the VSTA help collection is added to the Visual Studio 2005 help collection. To find the VSTA help collection:

  1. Open Visual Studio 2005.
  2. Click Help, and then click Contents.
  3. Expand the Visual Studio SDK node, and then expand the Visual Studio 2005 Tools for Applications node.

The Getting Started section is a great place to become familiar with VSTA. For instance, the first thing you need to do is install VSTA. For step by step instructions on how to do this, refer to the topic named How to: Install Visual Studio Tools for Applications. Next, consider reviewing Overview of Integrating Visual Studio Tools for Applications for a description of each major task you need to accomplish to incorporate VSTA into your application. These tasks include:

  • Creating Proxies.

  • Registering the Host Application.

  • Creating Project Templates.

  • Loading and Unloading Add-ins.

  • Incorporating the Integrated Development Environment.

  • Creating In-Process Hosts.

  • Setup and Deployment.

The table of contents provides a topic node for each major task area. The ordering of these topic nodes does suggest a recommended workflow, but you can approach each major task in any order you want. The pre-requisites for accomplishing each task are clearly documented.

Prefer a demonstration? The VSTA SDK ships with a set of sample applications that apply all of the concepts discussed in the help content. To learn more about what these samples demonstrate, where to find them, and how to use them, refer to the ShapeApp Samples node of the VSTA SDK.


In some cases you might want to locate code in the sample application that accomplishes a specific task like loading add-ins or getting the IDE to start. It might be hard to isolate all the relevant code snippets and configurations required to accomplish these specific tasks. VSTA documentation answers this concern by providing detailed walkthroughs that guide you through the exact steps required to create specific features in the sample applications. You can find walkthroughs beneath each major task node in the VSTA help collection. For instance, to go through the steps required to load and unload add-ins in the managed version of the sample application, refer to Walkthrough: Modifying a Managed Application to Load Add-ins beneath the Loading and Unloading Add-ins node.


Once you are up and running and in the middle of your integration effort, you can find loads of API descriptions in the Reference for Visual Studio 2005 Tools for Applications node.

Norm Estabrook
Programming Writer


The VSTA SDK is installed as part of the Visual Studio SDK.  Download VSTA from and see how easy it is to enable application customizations in your solutions today.

Comments (5)

  1. Dasher says:


    It would be nice to have some clearer examples.  I’m finding the docuementation quite hard to follow.

    It would also be nice to have a choice of output languages from ProxyGen (vb, C++, IronPython).

    I’m managing to make some progress – but it isn’t rapid *rubs head* or without some pain.

    The lack of visibility in the object browser and codeAssist doesn’t help.

    But all in all – it’s looking good.

    Some ideas:

    It would be good to have a wizard – linked with the class designer that allowed you to click on an object – and select the object to be exposed as a host object.  Ideally – this would recurse an object tree and make objects explosed by parents available.

    I’d like to be able to use annotations to methods which help determine what is visible and what isn’t – rather than using function modifiers (public/private/etc).

    Additionally – it would be nice to have a host define one or more addin groups that define levels of trust.  Addins would then assert (again using an annotation or via code) – what group they belonged to.

  2. Iouri says:

    Thank you for your feedback!

    We considered a  UI for proxygen, but could not do it for this version. We will definitely look into that for v.Next. Support for other languages can happen as well, although only for languages that can be generated using CodeDOM.

    Classes and/or members can be excluded by specifyingg isExcluded=true in the XML descriptor (see the /i and /o options for proxygen). Private classes are excluded by default.

  3. For several months we have used "MAF: Managed Addin Framework", to describe the WinFX System.AddIn libraries,…

  4. Definite choice on the output languages is required. There appears to be some things that are possible/legal in VB that are not possible/legal in C# which essentially make proxygen very hard to use.

    Example: in VB it is legal to nest classes within interfaces. In the C# output of proxygen, you get errors saying; “interfaces cannot declare types”. So each one has to be fixed manually. Whether or not you should be declaring types inside interfaces is a different matter, but it’s still awkward to have to find ways to fix this.