Seems like Microsoft is having a V Day, every day. Here's a run down of the main V technologies/tools:
VSTS (Visual Studio Team System)
Firstly, Visual Studio. Visual Studio 2008 (the current version) is Microsoft's IDE for building .NET based applications, be they Web, Desktop, Device or Microsoft Office based.
Visual Studio comes in a number of different versions, grouped into three main areas:
- Express editions (freely downloadable, limited feature set)
- Visual Studio (Standard and Professional versions)
- Visual Studio Team System (developer-role based versions that integrate with Team Foundation Server)
The premier version is called Visual Studio Team System 2008 Team Suite and includes everything from all the different-role based versions.
VSTO (Visual Studio Tools for Office)
VSTO is Microsoft's tool set for building applications that run in Microsoft Office (eg Word, Excel, Outlook, PowerPoint). They are built using Visual Studio.
Originally a replacement for VBA (Visual Basic for Applications) in Excel and Word, VSTO was made available in its first version approximately around the start of 2004. The most recent version – VSTO V3 – was delivered as part of Visual Studio 2008 in November 2007.
The aim of VSTO is to provide tools for developers to build on top of Office as a platform. Using VB.NET and/or C#, developers can use Visual Studio to build add-in for most of the Office 2003 and 2007 applications, including Word, Excel, Outlook, PowerPoint, InfoPath and Visio. SharePoint and Groove development is also possible, al though not directly targeted.
(See also my further thoughts on VSTO here)
VSTA (Visual Studio Tools for Applications)
VSTA is a customisation toolkit for allowing your application to be extended (using .NET). You are basically exposing your application's object model in a form that can be built upon using Visual Studio. You can even embed a cut-down version of Visual Studio into your application to allow customers to extend it without having to install Visual Studio.
If they do have Visual Studio installed, they'll be able to built add-ins for your application.
VSTA comes from the same Microsoft product group as VSTO and shares a similar architecture. Here's how they relate to each other:
Microsoft has a product (eg Outlook) that they want you to be able to extend. They use VSTA to allow their product (Outlook) to be extended using Visual Studio. They call their extension toolset VSTO.
(Note: They don't embed the cut-down version of Visual Studio into Outlook, but the concept is similar to how they provide the macro editor embedded into Office.)
VSTA is reasonably new – the first version was announced in early 2006. The second version is due in early 2008.
VSX (Visual Studio Extensions/Extensibility)
It's easy to get confused between VSTA and VSX. The difference is that with VSTA you provide extensibility for your application, whilst with VSX you build new extensions for Visual Studio. With VSX you are building something new onto the Visual Studio IDE.
Code Magazine recently had an entire issue devoted to VSX.
VSX is part of the Visual Studio Ecosystem of products, delivered via the Visual Studio 2008 SDK.
Microsoft has been focussing on opening up extensibility for Visual Studio a lot lately. Although the ability to do so has been around for a while, it is now free (previously it was licensed at a cost), licensing restrictions have been toned down, and the Visual Studio Shell has been released (meaning you can build Visual Studio Add-ins without even needing Visual Studio installed).
Also, a number of open source projects have appeared on CodePlex, including the World of Warcraft AddOn Studio.
Other V words:
VSS (Visual SourceSafe)
Microsoft's long running source control product has been superseeded in many ways by the source control elements of Team Foundation Server, however VSS is still promoted and supported. Ideal for smaller development teams.
I think we all know this one. Microsoft Vista is an operating system, and the successor to Windows XP.
You forgot one : VSLOW.
This is the phenomena that I encountered upon installing VISTA on a test box that ran XP fine.
Needless to say, we are all still using XP here until enough of our computers here have been upgraded over time to run at a decent speed with VISTA.
Nice blog. I was researching on VSTO and VSTA since I was thinking whether it was possible to migrate our existing tools developed on Excel and Access to .Net tools.
So far what I have gathered is that VSTO is an add-in that requires Visual Studio as a prerequisite. And using this VSTO plugin I can create add-ins for office applications like Word and Excel. There seems no direct support for Access though (as referred from the Wiki page of VSTO).
From my research I can conclude following things:
1. If I don’t have Visual Studio, I can’t use VSTO. (That means I can’t use VSTO without paying fees to Microsoft, especially in corporate environment).
2. Even if I have Visual Studio and I *can* use VSTO, I can’t use it to convert the automated tools which mostly are in Access. Since VSTO doesn’t seem to support “Document level” in Access.
I was hoping that since yours is an active blog, that I could get some affirmation (or not) on my conclusions. Hoping for a reply.
Thanks for the comment. Unfortunately though it has been years since I’ve done any VSTO work, so I’m out of the loop on that front. Microsoft licensing and support for VSTO may have changed since then.
I’d recommend trying some of the MSDN forums on VSTO if they are still getting updated.
Hi Craig, thanks for the reply. I didn’t expect such a prompt reply.
I have been researching on this since a day now and that was the crux of my understanding. Doesn’t look like that there have been a lot of change in all these years. I just wanted an opinion from someone who have worked on VSTO since I have myself zero knowledge until just hours before. :)
For future following are some links that I collated while my research (can help people doing a similar research).
Wiki page of VSTO: https://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Office
Wiki page of VSTA: https://en.wikipedia.org/wiki/Visual_Studio_Tools_for_Applications
Comparison of VBA and VSTO: https://easyvsto.wordpress.com/2010/01/01/vba-vs-vsto-an-interesting-study/
Download link for VSTO Runtime: http://www.microsoft.com/en-us/download/details.aspx?id=44074
Download link for VSTA: http://www.microsoft.com/en-us/download/details.aspx?id=38806
Details about VSTO and VSTA: http://www.craigbailey.net/clarity-vsts-vsto-vsta-vsx/
Thanks Vineet. This stackoverflow tag may also provide *some* help: