Version-Specific UI in Add-ins

Continuing on from my earlier posts on building add-ins for multiple versions of Office, avoiding the PIA version conflict, and add-ins for multiple versions without PIAs, a reasonable way to design your solution would be to use the lowest-common-denominator PIAs (let’s say, the Office 2003 PIAs) and then use ComImports for any additional features introduced…


COM Shim Wizard

We’ve released a slight update to the COM Shim Wizard. This is available as a free download here, and the covering article is on MSDN here. The differences Between v2.3.0.0 and v2.3.1.0 are summarized below. Setup The major difference between v2.3.0.0 and v2.3.1.0 is that v2.3.0.0 was built to install with Visual Studio 2005, whereas…


Add-ins for Multiple Office Versions without PIAs (Pt2), or _VtblGap

In my last post, I discussed how you could avoid any dependency on the Office PIAs by using ComImport to redefine the host application’s OM interfaces. Someone (A Developer) pointed out that I had actually omitted the trailing 2 members of the IRibbonControl interface – and I mentioned that this wouldn’t stop the code working….


Add-ins for Multiple Office Versions without PIAs

In a previous post, I discussed how you could build an add-in for multiple versions of Office, and explained the problems in this approach (and why it is not officially supported). One of the reasons this is not supported is because you end up building an add-in which has dependencies on a later version of…


Ribbon and Task Pane in Access Add-ins

In an earlier post, I looked at how you could morph a VSTO project for one application into a project for another application – specifically, how you could build a VSTO add-in for Access. Note that this is explicitly not supported. However, although this was only intended as an investigative exercise, I notice that some…

ActiveX Controls in VSTO Solutions

In the past, before it became strategically acceptable to build Office-based solutions in managed code, it was common for people to build such solutions using pure COM technologies. They built native COM add-ins, using C/C++, or they built document-level customizations using VB and VBA. In some scenarios – typically doc-level – the solutions made heavy…


VSTO Power Tools

I announced the release of v1 of the VSTO/VSTA Power Tools last time, and they’ve been getting quite a bit of use so far. The downloads are here – these include an overview document. Note that the documentation for the individual tools is installed in the same folder where you install the tools themselves. Phil Hoff, who…


VSTO/VSTA Power Tools v1.0

As I announced at the Office Developers Conference in San Jose this week, we’re releasing a set of power tools that complement the developer’s experience when building Office-based or VSTA-based solutions. These tools are freely downloadable here. We’re releasing these tools independently of our normal Visual Studio release cycle – even though in many cases…


Can you build one add-in for multiple versions of Office?

This of course is the advantage of using the old “shared add-in” project types – you can build one add-in that targets all versions of all Office apps that support COM add-ins (ie, 2000 onwards). The question is, can you do something similar with VSTO add-ins? The answer is “No, not in any supported way”….


Why is VS development not supported with multiple versions of Office?

First, the Office client apps are COM-based. Normal COM activation relies on the registry. COM registration is a “last one wins” model. That is, you can have multiple versions of a COM server, object, interface or type library on a machine at the same time. Also, all of these entities can be registered. However, multiple…