|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Creating Solutions for Multiple Versions of Microsoft Office
If you want to create a Visual Studio Tools for Office solution that works with both the 2007 and the 2003 releases of Microsoft Office, you have the following options:
Create a solution by using a project template for Microsoft Office 2003.
Applications in the 2007 Microsoft Office system can run solutions created by using projects for Microsoft Office 2003, if the Visual Studio 2005 Tools for Office Second Edition runtime is installed on the computer. For more information, see Visual Studio Tools for Office Runtime Overview.
Create two solutions: one for Microsoft Office 2003 and one for the 2007 Microsoft Office system. Put code that is specific to each version of Microsoft Office (such as user interface customizations) in the corresponding project, and put code that is used by both solutions (such as business logic) in a shared assembly that is referenced by both projects.
Visual Studio Tools for Office does not support installing both the 2003 and the 2007 versions of Office applications side-by-side on the development computer. To develop separate projects for different versions of Microsoft Office, use a different development computer for each version of Microsoft Office.
The following table compares some of the advantages and disadvantages of each option.
Create a project for Microsoft Office 2003.
You develop and deploy a single solution for all of your end users.
You cannot use features that are specific to the 2007 release of Office, such as custom task panes or Ribbon customizations.
You cannot use features that Visual Studio Tools for Office provides for 2007 Microsoft Office projects only, such as ClickOnce deployment.
Create a separate project for each Office version, and put the common code in a shared assembly.
You can customize the user interface (UI) of each solution to use the features provided by each version of Microsoft Office. For example, the 2003 version of your solution might create a menu item, whereas the 2007 version might create a custom Ribbon group.
You must develop, deploy, and maintain separate solutions for end users who have Microsoft Office 2003 and for end users who have the 2007 Microsoft Office system.