Canarys | IT Services

Blogs

Deploying an Outlook 2010 Add-in Using C#.NET And Visual Studio 2010

Share

How to deploy an Outlook 2010 Add-in Using C#.NET And Visual Studio 2010

In the previous blog, we walked through the steps to build an outlook 2010 add-in, how to create a custom task pane, add a custom context menu item and add a ribbon in the Outlook 2010. In this post, I’ll take you through the steps required to create a setup package so that you can distribute the add-in to others.

Creating a new Setup Project:

Returning to the Add-in project we created in this blog, we’ll now need to add a setup project. For that, we’ll use the MyFirstOutlookAddIn project.

New Setup Project

Let’s create the setup project. Open Visual Studio 2010, go to file menu select Open-> Project/Solution and open the “MyFirstOutlookAddIn” project. Right click the MyFirstOutlookAddIn   solution add new project. In the Installed templates expand to Other Project Types     ->Setup and Deployment -> Visual Studio Installer and select “Setup Project” template. In the Name box, type MyFirstOutlookAddInSetup.

We should add the setup project with the existing MyFirstOutlookAddIn  project solution to generate the “Primary Output” which we are going to create in this blog.

Solution Explorer

When the project has loaded in, Visual Studio will open File System window of our Setup Project. We can open the file system window by right clicking on MyFirstOutlookAddInSetup project, select View-> File System.

File System Menu

File System:

In the File System screen, right click on Application Folder select Properties Window.

Application Folder Menu

In the Properties window, under DefaultLocation, change [ProgramFilesFolder][Manufacturer][ProductName] to [AppDataFolder][Manufacturer][ProductName]

Application Folder Properties

 

Now, again right click Application Folder, select Add->Project Output and on the dialog that appears, choose “Primary Output”

Primary Output Window

We’ve now effectively told the setup project to install all our application goodness to the user’s AppData folder (Normally C:Users[username]AppData in Windows 7, for example). We are doing this as this is a safe, sandboxed location that requires a minimum of privileges to install to. Here’s roughly how your screen should look now…

File System Screen

Now, we need to remove some of the .dll files that were added as Primary Output (because we do not need them). In Solution Explorer:

  • Expand ‘Detected Dependencies’ in your Setup Project.
  • Right click and ‘Exclude’ everything under this folder except for:
  • Microsoft.NET Framework
  • Microsoft.Office.Tools.Common.v4.0.Utilities.dll
  • Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll

Project Dependencies

There are now 2 files you need to reference explicitly in your setup project. These are files that are created when you build your solution – so you will need to point to the release folder. You may use debug if you wish – just remember you are pointing there. For production software, you should point to release. So, in the File System window of your setup project:

  • Right-click the Application folder and select Add – File…
  • Browse to your MyFirstOutlookAddIn  folder, and then binRelease
  • Select the .dll.manifest, and .vsto files that reside there.

Relese Folderr

Registry:

To complete the add-in setup package, it is required to add registry keys. When we run the add-in from visual studio, the keys will be added automatically in the background, but here we need to add it explicitly. The keys which we are adding will be saved to:

HKCUSoftwareMicrosoftOfficeOutlookAddins

 Open the Registry Panel in your Setup Project, then:

 Registry Menu

 

Expand the HKEY_CURRENT_USER key, then Software, and rename [Manufacturer] to Microsoft (because we are adding this key to the Microsoft Office section of the Registry).

Registry Key

Create a tree of key values underneath Microsoft by right click the Microsoft select New Key: OfficeOutlookAddins

Finally, create a key for your add-in. Give it a unique name (Ex.YourCompanyName.MyFirstOutlookAddIn), such that it is different from the add-in project name (so you can identify keys created by the installer, and keys created by Visual Studio).

In that key, set the following values:

String – “Description”

String – “FriendlyName”

String – “Manifest” – set this to “[TARGETDIR] MyFirstOutlookAddIn.vsto|vstolocal”

DWORD – “LoadBehavior” – set this to “3”

Select your new key (the one you just set values for) and in the Properties window, set DeleteAtUninstall to be true (important: do not set it for any keys higher up in the tree).

Registry Properties

Prerequisites

Now, we need to make sure that the Setup.exe you produce will check for prerequisites on the client system. This can be done by:

Right-click the MyFirstOutlookAddIn add-in project (not the setup project), select properties. In the properties screen select publish and click prerequisites button. A dialog window appears.

Ensure the following are ticked:

Microsoft .NET Framework 4 Client Profile (x86 and x64)

Microsoft Visual Studio 2010 Tools for Office Runtine (x86 and x64)

Prerequisites

 

  • Open the properties panel of your addin project and update the values there such as Version and Product Name.
  • Open the User Interface editor of your setup project, and delete the Installation Folder screen. This will stop users from installing the add-in to a different location (that may stop your add-in from running).

User Interface Screen

Build your add-in, and then right-click your Setup Project and select Install. Otherwise you can go to the release folder of the setup project to get the installer.

Leave a Reply

Your email address will not be published. Required fields are marked *

Reach Us

With Canarys,
Let’s Plan. Grow. Strive. Succeed.