VSTA FAQ

 

VSTA Pricing

VSTA FAQs

Don't see your question here?  Try our Customer Support

 

Technical FAQs

 

General FAQs


What is Microsoft VSTA?


How is VSTA related to Visual Basic for Applications (VBA)?


Can VSTA and VBA co-exist in the same application?


What is the difference between VSTA and VSTO?


How does VSTA compare to VS Express?


What opportunities do VSTA partners have for branding?


What localized languages will VSTA support?


Will each localized version have its own set of redistributables?  What is the disk footprint of each set of localized redistributables?


How much does it cost to license VSTA?


I am a VBA customer interested in a “side-by-side” deployment.  Does that mean I will have to pay both VBA and VSTA royalties?


How does my company negotiate a license agreement with Microsoft?


Where can I find more information about Summit Software Company?

 

 

 

Q:

What is Microsoft VSTA?
back to top

A:

 

Microsoft Visual Studio Tools for Applications (VSTA) provides ISVs a customization technology allowing them to create more secure, manageable and reliable applications taking advantage of Windows Vista, the 2007 Office System, and additional Microsoft development tools.  VSTA fully supports the .NET framework, and enables development in the Microsoft Visual Basic .NET and Visual C# programming languages. 

 

At the heart of VSTA is the Managed Add-in Framework (MAF).  MAF is an architectural framework, with basic implementation in WinFx.  MAF can be seen as the .NET equivalent of COM.

 

Q:

How is VSTA related to Visual Basic for Applications (VBA)?
back to top

A:

VSTA is an entirely separate technology from VBA.

Here is a table describing some of the basic similarities and differences between VBA and VSTA.

 Feature

VBA

VSTA

The ability to extend and customize the host application

x

X

Forms designer for creation of custom UI

x

X

Intellisense capable development environment that provides access to the host applications methods, properties and events

x

X

Customization code can be stored in a pre-compiled format

x

X

Provides programmatic access to the project contents

x

X

Supports referencing external COM components

x

X

Requires structured storage for project persistence*

x

-

Projects can be opened and modified from within Visual Studio 2005

-

X

Uses the .NET WinForms designer for UI creation

-

X

Natively supports the .NET framework

-

X

Customizations are authored in managed code

-

X

Customization code runs on the common language runtime (CLR)

-

X

Dynamic generation of project code

X

X

Ability to fully customize the design time environment (IDE)

-

X

Requires excessive core changes to your host application

X

-

Enforces .NET security policies on executing code

-

X

Provides isolation from customizations that throw exceptions, allowing the host application to continue execution.

-

X

Allows individual customizations to be stopped, without affecting other running customizations

-

X

Provides a choice of authoring environments

-

X

Supports 64-bit processors

-

X

Targets server-side customizations

-

X

Provides debugging capabilities

X

X

Customizations can be isolated from each other and run independently

-

X

Breakpoint debugging freezes the host application process

X

-

Customizations can run out of process

-

X

Common versioning issues related to COM interfaces can be transparent through the use of MAF

-

X

Interacts with web services

X

X

Included with the next version of  Office

X

X

Customizations are compiled to DLL assemblies

-

X

Code can be hidden from customization authors

X

X

Supports .NET assembly references directly**

-

X

Branding of the design time environment

-

X

Development environment can be embedded as a child window of the host application

-

X

Provides wizards or tools to auto-generate host specific integration code

X

X

Works with VB6 applications

X

X

Intended for integration into C# or VB.NET next generation host applications

-

X

Supports multi-threaded customizations

X

X

Can prevent UI in customization code from running on a server

-

X

Supports Add-in customizations of the IDE

X

X

Supports all types, including BigDecimal and Int64

-

X

Is certified to run on Vista

-

X

* VSTA projects can store projects and assemblies using IStorage, however the projects and assemblies themselves do not require structured storage for persistence.

** VBA can set references to .NET assemblies by creating a COM Interop layer

Q:

Can VSTA and VBA co-exist in the same application?
back to top

A:

Yes.  Microsoft’s does not want its VBA partners to have to “rip and replace” their VBA code to utilize the features of VSTA.  In this case, Microsoft envisions “side-by-side” deployment.  This allows customers to continue to use their existing VBA macro code, while providing VSTA for new customization development.

For an example how to integrate VSTA into an existing, unmanaged VBA-enabled MFC application, click here

 

Q:

What is the difference between VSTA and VSTO?
back to top

A:

VSTO (Visual Studio Tools for Office) was designed to support the building of managed extensions for Office applications.  VSTA was designed to provide the same kind of support for ALL applications, whether managed or unmanaged.  VSTO is built on VSTA technology.

 

Q:

How does VSTA compare to VS Express?
back to top

A:

VSTA and VS Express are aimed at entirely different spectrums of the developer community.  VSTA is designed for seamless integration into a host application, providing ISVs and IT professionals a robust customization technology.  VS Express Editions are lightweight editions aimed at the hobbyist, novice, and student developer.  As such, the Express editions provide an introduction to a particular aspect of Visual Studio, but do not provide the robust development environment found in VSTA.

Some specific differences:

·         Multiple Language Support:

·         VSTA supports VB.Net and VC#

·         The only VS Express version supporting multiple languages is Visual Web Developer, but this edition is target at web development scenarios, and not rich client development.

 

·         User Experience

·         While VSTA and VS Express share simplified menu options and defaults, VSTA is more streamlined to remove options/features that are not required for application customization (ie – publishing a solution, creating non-application project types)

·         VSTA provides access to the DTE (Express editions do NOT) and the In-Process Host (IPH) which give the ISV a lot of control over the design-time experience.  In addition to simplifying the integration process, these features enable the ISV to develop powerful end-user features like macro recording and natural entry points.  The ISV has the ability to set the IDE defaults to best suit their application and customer needs.  The IPH also gives the ISV the flexibility to start the IDE from the host application or the Start Menu.

 

 

·         Debugging

·         The VSTA IDE supports “external process” debugging so the host application can remain running across debug sessions, and can continue to paint while the add-in is stopped on a breakpoint.

·         Express SKUs only support in-process debugging.

 

·         Add-Ins

·         The VSTA IDE creates add-ins that work with the VSTA runtime.

·         Using Express SKUs, an ISV will have to approximate VSTA.

 

·         Versioning and Isolation

·         The VSTA IDE and VSTA runtime provide a powerful customization toolset, ensuring their customer’s investment in add-ins is preserved across multiple versions of the host application; and the ISVs application is protected from malicious or unstable add-ins.

·         Using Express SKUs, an ISV will have to address these issues on their own.

·         64 Bit support

·         The VSTA supports 64 bit applications.

·         Express SKUs provide no 64 bit support.

Q:

What opportunities do VSTA partners have for branding?
back to top

A:

Licensees can brand VSTA in targeted areas.  The help documentation in the SDK provides an overview of what branding is available.  Specifically, see the topics Registering the Host Application and Incorporating the Integrated Development Environment.

 

Q:

What languages will VSTA support?
back to top  

A:

 

VSTA 2.0 supports the following languages:

 Code

LCID

Language

CHT

1028

Chinese Traditional

DEU

1031

German

ENU

1033

English

FRA

1036

French 

ITA

1040

Italian   

JPN

1041

Japanese         

KOR

1042

Korean 

PTB

1046

Brazilian Portuguese  

CHS

2052

Chinese Simplified        

ESN

3082

Spanish           

Q:

Will each localized version have its own set of redistributables? 
What is the disk footprint of each set of localized redistributables?
back to top

A:

 

English ships inside the core MSI and there are two local MSIs for each additional language (one for the IDE and one for the Runtime).  The localized MSI will vary slightly in size depending on the language, but for Japanese, the IDE MSI is 15Mb and the Runtime MSI is 190kb.

 

Q:

How much does it cost to license VSTA?
back to top

A:

 

Microsoft offers two licensing models covering the licensing of VSTA, providing licensees the opportunity to select the model that best meets their business needs.  The licensing models are:

 

Per Seat Licensing:                   $50 per seat

Royalty Model(based on product net receipts):

Low                -                 High                               Royalty Rate

$0                   -          $2,000,000                                  3%

$2,000,001        -          $5,000,000                                 2%

$5,000,001        -       $100,000,000                                 1%

 

Under the royalty model, licensees pay the requisite royalty rate until net receipts surpass the high amount for your level.  When this level is surpassed, future royalties are paid at the new rate.

 

Q:

I am a VBA customer interested in a “side-by-side” deployment.  Does that mean I will have to pay both VBA and VSTA royalties?
back to top 

A:

 

No.  Microsoft is not going to make those VBA partners integrating VSTA alongside VBA to pay two separate licensing arrangements.  Please contact Summit Software to discuss your particular situation.

 

Q:

How does my company negotiate a license agreement with Microsoft?
back to top

A:

 

Microsoft has provided Summit Software with a VSTA contract template containing the standard terms and conditions for a VSTA license.

Summit Software is authorized to enter into preliminary negotiations with your company on Microsoft’s behalf but cannot bind Microsoft to any proposed modifications until Microsoft Corporation has reviewed the agreed modifications in the contractual terms and conditions.
 

Q:

Where can I find more information about Summit Software Company?
back to top

A:

 

The Summit Software web site, located at http://www.summsoft.com/, contains everything you need to know about how to do business with our company.

 

Copyright Summit Software Company, 2008. All rights reserved.