Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I create a (VSTO) Office 2007 add-in using VS 2012?

Visual Studio 2012 does not appear to support Office 2007 (it only has project templates for Office 2010). If I want to create an add-in compatible with Office 2007, do I need to use Visual Studio 2010, or is there a simple way to do it with VS 2012?

If there is a way to do it in VS 2012, are there any restrictions/advantages, etc. in doing so?

like image 863
Gary McGill Avatar asked Sep 05 '12 08:09

Gary McGill


People also ask

How do I create a VSTO add-in?

To create a new Excel VSTO Add-in project in Visual StudioUnder the expanded Office/SharePoint node, select the Office Add-ins node. In the list of project templates, select Excel 2010 Add-in or Excel 2013 Add-in. In the Name box, type FirstExcelAddIn. Click OK.

What is a VSTO add-in?

Visual Studio Tools for Office (VSTO) is a set of development tools available in the form of a Visual Studio add-in (project templates) and a runtime that allows Microsoft Office 2003 and later versions of Office applications to host the . NET Framework Common Language Runtime (CLR) to expose their functionality via .

How are Office add-ins different from COM and VSTO add-ins?

How are Office Add-ins different from COM and VSTO add-ins? COM or VSTO add-ins are earlier Office integration solutions that run only in Office on Windows. Unlike COM add-ins, Office Add-ins don't involve code that runs on the user's device or in the Office client.


1 Answers

You can get VS 2012 working with Office 2007. First create an Outlook 2010 Add-In and modify the project file (.csproj) so that it will open in Office 2007 and not look for Office 2010 when run.

Here is the project settings change (Outlook example):

Source XPath:

//Project/ProjectExtensions/VisualStudio/FlavorProperties/ProjectProperties/@DebugInfoExeName

Old Value (Office 2010):

DebugInfoExeName="#Software\Microsoft\Office\14.0\Outlook\InstallRoot\Path#outlook.exe"

New Value (Office 2007):

DebugInfoExeName="#Software\Microsoft\Office\12.0\Outlook\InstallRoot \Path#outlook.exe"

After changing this project setting, when you fire up the debugger (F5) it will load the Outlook 2007 application instead of looking for Outlook 2010.


One of the major drawbacks to using VS 2012 for Office development is that deployment is now using InstallShield LE instead of Visual Studio Setup Projects. This is a major shift, but it seems MS is moving away from supporting native installers and letting others manage this burden. WiX is an alternative installer, but I have not tried it out. WiX (Windows Installer XML) still lacks the UI that is present with InstallShield LE or VS 2010 Setup Projects.

The only advantage of using VS 2012 for development is that development IDE is much faster.

like image 155
SliverNinja - MSFT Avatar answered Oct 11 '22 08:10

SliverNinja - MSFT