Visual Studio Tools for Applications
Encyclopedia
Visual Studio Tools for Applications (VSTA) is a set of tools that independent software vendor
Independent software vendor
Independent software vendor is a business term for companies specializing in making or selling software, designed for mass marketing or for niche markets...

s (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 VBA.

Launch

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.

Packaging

It is included with Office 2007 for use by end-users and business application developers, and the SDK is available separately for ISVs. It is however integrated in InfoPath only, and not in other Office applications.

Current version

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
Windows Presentation Foundation
Developed by Microsoft, the Windows Presentation Foundation is a computer-software graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0. Rather than relying on the older GDI...

, WCF
Windows Communication Foundation
The Windows Communication Foundation , previously known as "Indigo", is an application programming interface in the .NET Framework for building connected, service-oriented applications.-The architectures:...

, WF
Windows Workflow Foundation
Windows Workflow Foundation is a Microsoft technology that provides an API, an in-process workflow engine, and a rehostable designer to implement long-running processes as workflows within .NET applications...

, LINQ
Language Integrated Query
Language Integrated Query is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages, although ports exist for Java, PHP and JavaScript....

, and .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...

 3.5.

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
Visual Studio Tools for Office
Visual Studio Tools for Office is a set of development tools available in the form of a Visual Studio add-in and a runtime that allows Microsoft Office 2003 and later versions of Office applications to host the .NET Framework Common Language Runtime to expose their functionality via the .NET...

 (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
Active Scripting
Active Scripting is the technology used in Windows to implement component-based scripting support. It is based on COM and allows installation of additional scripting engines in the form of COM modules.-Uses and history:The Active Scripting technologies were first released in 1996, with the...

 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.

ISV License fees

Independent Software Vendors wishing to integrate Visual Studio Tools for Applications into their applications must pay a license fee to Microsoft 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. Independent Software Vendors wishing to integrate Visual Studio Tools for Applications into their applications should contact Microsoft through the vstainfo email address.

Coexistence with VBA

Office 2007 applications continue to come with Visual Basic for Applications
Visual Basic for Applications
Visual Basic for Applications is an implementation of Microsoft's event-driven programming language Visual Basic 6 and its associated integrated development environment , which are built into most Microsoft Office applications...

 as the end-user customization environment, except for InfoPath
Microsoft InfoPath
Microsoft Office InfoPath is a software application for designing, distributing, filling and submitting electronic forms containing structured data...

2007 which enables end-users to customize their InfoPath forms by programming with Visual Studio Tools for Applications.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK