VSTO

 

Disclaimer: I have nothing to do with Addin Express.

When I first started programming addins for MS Office, I took the obvious road of installing Visual Studio Tools for Office (VSTO). It all seemed rather easy and I had a toy excel addin completed in the first evening. My enthusiasm was quickly doused when I tried to deploy the addin.

What MS don’t tell you is that when you fire up your addin in debug mode from VS, there’s a whole lot of work done for you in the background to interface with Excel. When you get to creating a setup project to deploy your addin, you discover that you’ll have to:

  • Write a custom shim in C++. This ghastly language has aptly been described as “An octopus made by nailing extra legs to a dog”, and I didn’t relish the idea of having to program with it.
  • Create certificates to sign your code (relatively easy if you like command-line utilities).
  • Persuade all your potential users to accept these certificates, or else pay some signing authority to vouch for them (more difficult).
  • Jump through all sorts of hoops to get the correct privileges during the install.
  • Write a separate setup for each version of Excel that you want to support. Why MS inflict this sort of thing on their users is beyond me.

You’re probably thinking that I’m just lazy or stupid. I’ll admit to the former, but read all the articles on this page and you’ll see that my list above is only a preview of the misery you’ll go through before you have a working, deployable solution.

After that experience, I abandoned the idea of writing addins at all. Some time later, I fell by chance on Addin-in Express. Again, I had a toy addin working after an evening, but at the end of the evening I also had a setup that worked correctly, with no extra effort.

I’ve written addins for IE, Excel and Visio using Addin Express, the support is first-rate and it allows me to concentrate on business functionality. If you want to compile GeodesiX, you’ll need to buy an Addin Express license. If you want to do it with VSTO, I wish you well.

 Posted by on 2011/04/07 at 19:22

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*