Visual Studio Tools for Applications

Visual Studio Tools for Applications (VSTA) is a set of tools that independent software vendors (ISVs) can use to build customization abilities into their applications for both automation and extensibility. Those customization abilities can be used by end-users to tailor the ISV's application within a managed extensibility environment just like Visual Basic for Applications.

History
Visual Studio Tools for Applications was announced by Microsoft with the release of Visual Studio 2005. The first Community Technology Preview (CTP) of Visual Studio for Application was released in April 2006. Version 1.0 was released to manufacturing along with Office 2007. Visual Studio Tools for Applications 2.0 is the current version. The second version of Visual Studio Tools for Applications includes features such as the Dynamic Programming Model and support for WPF, WCF, WF, LINQ, and .NET Framework 3.5.

VSTA is included with Microsoft Office 2007 for use by end-users and business application developers, and the SDK is available separately for ISVs. It is however integrated in Microsoft InfoPath only, as other applications in the suite use Visual Basic for Applications instead.

Architecture
Visual Studio Tools for Applications (VSTA) is based on the .NET Framework and is built on the same architecture as Visual Studio Tools for Office (VSTO). Visual Studio 2005 Tools for Applications is based on the .NET 2.0 framework and Visual Studio 2005, while Visual Studio Tools for Applications v 2.0 is based on the .NET 3.5 SP1 framework and Visual Studio 2008. Some of the technology developed for Visual Studio for Application (VSA) was incorporated within Visual Studio Tools for Applications.

Visual Studio Tools for Applications consists of both a runtime and design time environment or IDE. The runtime is used by host applications to expose their object models to add-ins as well as discover and load add-ins. Add-ins have access to the host object model through a proxy which utilizes the VSTA runtime, or alternatively add-ins can directly reference the host application. The IDE is a streamlined and customizable version of the Visual Studio IDE- Visual Studio 2005 for VSTA 2005 and Visual Studio 2008 for VSTA 2.0. It supports Visual Basic .Net and C#. The IDE can be customized to add or hide functionality. This makes it ideal for professional developers as well as power users and other end users who may have a more macro recording oriented coding style. Visual Studio Tools for Applications also features 64-bit support and macro recording of the host application, but does not incorporate Active Scripting support. In order to integrate VSTA into a host application the SDK is needed, to distribute VSTA with an application a license and the VSTA distributable is required.

Licensing
VSTA 2008 integration licenses were distributed by Summit Software, which entered into a licensing agreement with Microsoft in April 2006. Independent software vendors (ISVs) wishing to integrate VSTA into their applications must pay a license fee to Summit Software that is calculated either on a $50 per-seat basis or on the basis of a 1%, 2% or 3% royalty depending on the products' revenue.