Setup for VSTO 3.0 Outlook 2007 Plugin with MSI

If you want to install a VSTO Plugin with VSTO 3.0 the default way is to deploy this application with Click Once (Publishing of Outlook 2007 AddIn with ClickOnce and VS2008).


This approach has the disadvantage that the user must install the plug-in manually, and in big companies the IT want to deploy their applications for all users, so they can be sure that the software is installed on every computer. Microsoft have no direct way to do this anymore, but there is a Article which describes who to do this in the MSDN.


Deploying a Visual Studio Tools for the Office System 3.0 Solution for the 2007 Microsoft Office System Using Windows Installer (Part 1 + Part 2)


The document describes in detail, how to create a MSI package, it is not the whole solution for the deployment in a company. A VSTO plug-in is only function, for a user who installed the plug-in because; VSTO only works if it is installed in the user hive of the registry. In the automatic deployment scenario the install user is not the user who uses the software and so if fails. A solution for this is to create the user registry keys in a second deployment process which runs once a user logins a computer. The registry keys must be the same as in the MSI package which will be installed. To do this you can create a second MSI package which contains only the registry key and deploy this with a group policy or with your software deployment solution.


The second problem is that with MSI deployment, the plug-in-in is not really installed, this installation is started automatically when Outlook the next time started. This is the normal Click Once deployment and if the add in is not signed or the author is not trusted then the user is asked if they want to install it, and if they say no the plug-in will not be installed. Because of this it is necessary to sign the application a description, how you can do this find you here.


Posted May 14 2009, 10:11 AM by Rolf Nebhuth
Filed under: is a .Net Community Blog powered by daenet GmbH.