X
04May

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

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 bin\Release
  • 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:

HKCU\Software\Microsoft\Office\Outlook\Addins

 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: Office\Outlook\Addins

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.

 

Related

What are Frames? How to handle frames in Selenium WebDriver with C#?

IFrame (FullForm: Inline Frame) is an HTML document that is included in another HTML document and is...

Read More >

What is Synchronization? Handling Synchronization in Selenium WebDriver using C#:

Synchronization meaning: when two or more components involved to perform any action, we expect these...

Read More >

Sending Test reports by Email using Office 365, Gmail

Wouldn’t it be great if Test Report are sent automatically across team as soon the Test Execut...

Read More >

ASP.NET: Audit Trail Implementation using Entity Framework

When you are working with certain projects which involves the Customer records, you might need to tr...

Read More >

Create Restful service using Web API

What is Asp.Net Web API?Asp.Net Web API is a framework for building HTTP services that can be consum...

Read More >

Create custom project templates in Visual Studio

Visual studio installation comes with the various predefined project templates, and we can use one o...

Read More >

WCF SOAP and REST Services

WCF (Windows Communication Foundation) is a programming platform and runtime system for building, co...

Read More >

What's New In C# 6.0?

Microsoft has released the preview version of Visual Studio 2015 and .NET 4.6 for developers to try ...

Read More >

Creating an RDLC report in Asp.Net

Step 1.  Create a new website and Add DataSet to the WebsiteRight Click on the project, Add new...

Read More >

How to add Overlay in Windows phone 8

Windows Phone is windows mobile operating system from Microsoft.In my project, there was a requireme...

Read More >

Share

Comments

Hi,Do you have an article on how to migrate an older version of VSTO add in to support the latest version of office. As 2008/2010 add in doesn't work with Outlook 2013/2016.Also, Does this guide hold good to deploy 2016 VSTO addin using Visual Studio 2017?
10/26/2018 12:49:04 PM | Reply

Post a Comment

Try DevOpSmartBoard Ultimate complete Azure DevOps End-to end reporting tool

Sign Up

  • Recent
  • Popular
  • Tag
  • Key Metrics to Measure DevOps Success

    DevOps words means many things to many people and all the definitions might be partly right. DevOps is all about continuously seeking feedback, understanding challenges, and improving the way the soft...
  • Bulk Export Import Test Cases to Azure DevOps Test Plans using CSV file

    As a user of Azure DevOps Test Plans or TFS Test Management for manual testing, from a long time everyone including me had a wish, that copy of test cases from excel or csv file along with test steps ...
  • Azure DevOps Overview

    Now a days Azure DevOps is very famous with IT and Operations team along with developers, so what is Azure DevOps? It is a Software as a service (SaaS) platform from Microsoft that provides features r...
  • Volume Management in Kubernetes

    Since pods created in k8s are ephemeral, we are able to get the data as long as pods are alive, but if pods are terminated data stored in it completely lost and it cannot get back, for that we need to...
Monthly Archive
Subscribe
Name

Text/HTML
Text/HTML
Contact Us
  • *
  • *