Friday, June 08, 2007

Worst Name Ever: VSTO != VSTO


  have been using Excel as a vehicle for demonstrations since our product was in Alpha testing--after all, one of the greatest aspects of .NET-based grid computing product is the ability to integrate well with ubiquitous tools like Excel.

With Visual Studio Tools for Office and Visual Studio 2005, it was a snap for me to build a "supercomputing" spreadsheet that performed analysis across a grid of many machines. I routinely give demonstrations where I show how, with only 20 lines of .NET code, a spreadsheet with a .NET add-in can be adapted to run on a grid. I love it, potential customers love it--everyone loves it.

Last week, I got a new laptop (HP Compaq nc8430 running Vista), with shiny new software--including Office 2007! After getting everything set up, one of my first jobs was to port our old Office 2003 demos to run in Office 2007. Well, to be clear, they already ran in 2007 in "compatibility mode," but I had beenbuilding them on my old laptop with Office 2003. I wanted to build them on my new machine.Compatibility ModeSo I installed Visual Studio 2005, Visual Studio 2005 Visual Studio Tools for Office, and the brand-spanking new Visual Studio Tools for Office 2005 Second Edition for the Microsoft Office 2007 System. Phew.

And what happens when I try to open my project?
A compatible version of Excel 2003 is not installed on this computer

"A compatible version of Excel 2003 is not installed on this computer?" Ouch. Does this thing really mean to tell me that I need to install Office 2003 to open this project? That makes no sense, right? I mean, I know Excel 2007 can open my XLS file.

Well, a bunch of googling searching led me to this post by Martin Sawicki on the VSTO blog. Put your thinking cap on, and read this carefully:
The important thing to note here is that "Cypress", now officially known as Visual Studio 2005 Tools for Office Second Edition Beta, is NOT the "v3" of VSTO. It's a new product in its own right that will be available long before "v3". Now, the most confusing part perhaps is that despite its naming, VSTO 2005 Second Edition Beta is actually largely orthogonal to and independent of VSTO 2005. You can install VSTO 2005 SE Beta on top of VSTO 2005, but you can also install it on top of Visual Studio 2005 Professional, which doesn't contain any VSTO 2005 functionality. The "Second Edition" has its own unique feature set that does not overlap with VSTO 2005, as far as the design-time functionality goes. (It does, however, borrow a number of ideas from the "v3" CTPs, especially related to ribbon, task pane, and add-in support.)
Ignore all that stuff about betas (the post was written last September). The important stuff: Visual Studio Tools for Office 2005SE is a completely different product than Visual Studio Tools for Office.

You can understand why I was confused.

I understand this is a big company, and I understand that naming things is hard. But Microsoft is approaching ridiculousness with this! Remember, this is coming from the company that released .NET 3.0, which isn't a new version of .NET at all because it's really .NET 2.0 with some stuff added to it, and that a new version of .NET will come later.

But my problem here isn't with the name--it's that they seem to have discontinued the "old" Visual Studio Tools for Office line, leaving those of us who had a codebase written in it out in the cold. From what I can tell, I've got to rewrite my project if I want it to run in Office 2007 using the latest tools.

Naming the new product the same as the old product not only left me feeling abandoned, but it gave me the mistaken impression that I'd be able to simply upgrade to the new version--when, instead, I've got to start from scratch with the new version.

I'll keep you posted as I delve further into this.

Technorati tags: ,