.net – Tips for VSTO Developers

ms-officenetvsto

I have a personal project that I'd like to build as an add-in for Microsoft Word 2007. I have prototyped it using VSTO with Visual Studio 2008 and found it surprisingly easy to work with the object model.

I am however worried about deployment of my add-in. I assume users will need Office and .NET 3.5 (with SP1) installed, but will they need anything else? What will happen when new service packs or versions of Office are released?

Also, what tips would you give to developers starting out with VSTO? Are there any third party libraries you use? Tips that make support easier?

Best Answer

You can use Microsoft PSS VSTO 2005 Client Troubleshooter to scan client machines for all prerequisites needed to run your VSTO solution and gives feedback on their status and links to resources to fix them.

The client will at least need the VSTO Runtime (version 3.0 is now the latest) / Primary Interop Assemblies.

Your solution should keep working in case of higher service packs and or newer versions of office as long as the runtime you developed against is available. It will not work with older versions then the one you developed against.

One of the biggest paint points seems to be code access security (CAS) but it's really a good thing since it prevents rampant viruses and such like back in the old days with macro's. The caspol tool is your friend here.

some random tips from my recent experience with VSTO

  • Do give VB a chance it works better for VSTO development then C# (at least until you can use C# 4 and named optional parameters)
  • If you are stuck on using the object model/api record a macro from the office application you are trying to write for and take a look at the VBS code of the macro.