... and ...
A personal gripe about VSTO to Microsoft!
Eric Carter and Eric Lippert (Two of Microsoft's finest and VSTO "insiders"!) published a book months ago that should stand as the definitive Visual Studio Tools for Office reference and training book.
Unfortunately, it was focused on C#.
Having come to their senses, the version for Visual Basic is now on the bookshelves! It's the one colored green - like money.
Before I get to my second topic, I'd like to quote something from Chapter One:
"Visual Basic is a much easier language to use for Office development than the C# language. The Visual Basic language and the Office object models 'grew up' together over the years, and as a result, the Visual Basic language deals much more easily with features of the Office object models ... than C# does. If you compare the Visual Basic edition of this book with the C# edition, you will often find the code samples are simpler than the C# samples because of the way Visual Basic simplifies calling the Office object models."
You can always tell the C programmers. They're the ones grinding their own beans for coffee break.
By all appearances, it looks like a great book. I'm working on a full review now, but I wanted to get something "off my chest" since it really doesn't have anything to do with the review.
Microsoft: Are you trying to make VSTO fail?
The main problem with VSTO is that it's priced and packaged to guarantee that only a few programmers ... in my view a small fraction of the right ones ... are ever likely to ever try it out. Let's review what VSTO is. It's Visual Studio Tools for Office (emphasis mine). That means that many of the people who are most likely to be interested in it are the Office mavens. The Word Wonders. The Spreadsheet Superheros. These people need a way to get into VSTO that doesn't make them part of the IT department.
The first version, VSTO 2003 was also insanely priced at something like $400 (I forget) and it appears that Microsoft realized what they were doing at some point. They started handing it out free at Microsoft events. I ended up with three full copies. (I still have them.)
This version is priced even higher at $799 (Oh heck, let's call it $800.) for a new copy.
Microsoft may object and say, "But sir!" (People who are objecting always call you "sir".) "That's for a full copy of Visual Studio 2005. That's not just VSTO."
That brings me to my second problem with VSTO: You have to buy it already integrated into a full copy of VS 2005! And there are a few other problems too. For example, if you already have a copy of Visual Studio 2005 Professional, it's not there! (Unless it's the MSDN version. Why do we have all these confusing SKU's now anyway?) You have to buy a full upgrade to get it! And this also means that you get the specific configuration of Visual Studio that includes VSTO. What if you would rather have one of the other configurations?
The old version, VSTO 2003, could at least be installed as an upgrade to VS.NET 2003 from a single CD
If you want people who have a main focus somewhere else ... like Word or Excel ... to try this out, you've got to create at least an affordable version that can be used with (Dare I suggest it?) Visual Studio 2005 Express or or at least added to an existing VS.NET 2005.
This isn't just my opinion. To demonstrate my point, I offer into evidence the testimony of all of the vendors listed at Microsoft's own "Product Information Center". These are the vendors that Microsoft recommends when you click the "How to Buy" links from the VSTO pages. Over half of these vendors don't even offer the VSTO version of Visual Studio for sale. (At least, I couldn't find it.) I'm guessing that they know an inventory clog when they see it.
My third point isn't really a gripe, it's a question. For years after the introduction of VB.NET, surveys of About Visual Basic readers consistently showed that the vast majority still preferred to use VB 6.
But like an avenging angel, Microsoft cut them off at the waterline. VB 6 would not be improved or even supported in the future. They made it almost impossible to buy the first year! With iron resolve, Microsoft exterminated VB 6 like suburbanite killing crabgrass. They made it quite clear that VB 6 is dead, finished, finito, kaput. Now quit yer whining and get used to it!
But VSTO 2003 and 2005 continue the grand tradition of supporting VB 6 COM technology and VBA (which is really VB 6) and so will Office 2007.
My question is, "Why couldn't Microsoft have shown this much consideration to their VB 6 developers?"
ps ... Contrasting points of view or corrections welcome!