Microsoft Knowledge Base Email Alertz

KBAlertz.com: (292491) - This article discusses and explains how COM (Component Object Model) determines which version of an Office application is loaded when you use Office Automation.

Receive Microsoft Knowledge Base articles by E-Mail?

Every night we scan the Microsoft Knowledge Base. If technologies you're interested in are updated, we'll send you an e-mail. You only get one e-mail a day, and only when new articles are added.

Click here to create a
FREE account
Already have an account?
[Click here to Login]

Search KbAlertz

Advanced Search

Webmasters
Put kbAlertz on your website.
[ Click Here for more! ]





ASP.NET 3.5 Web Hosting with Windows 2008 and SQL 2008: Click Here!
Discount ASP.NET Hosting
ASP.NET 2.0 and 3.5
Windows2008 and SQL2008
US and UK Hosting
The ad says 3 - but KBAlertz referrals get
** SIX MONTHS FREE **


Bug Tracking Software
For bug tracking software or defect tracking software or issue tracking software, visit Axosoft.


Community Site



We Send hundreds of thousands of emails using ASP.NET Email



Expert Web Design & Graphic Design
Design44.com

ASP.NET 3.5 Web Hosting with Windows 2008 and SQL 2008: Click Here!
Discount ASP.NET Hosting
ASP.NET 2.0 and 3.5
Windows2008 and SQL2008
US and UK Hosting
The ad says 3 - but KBAlertz referrals get
** SIX MONTHS FREE **




Mentioned In








Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks




Article ID: 292491 - Last Review: May 30, 2007 - Revision: 6.2

Office automation when multiple versions of Office are installed

This article was previously published under Q292491

SUMMARY

This article discusses and explains how COM (Component Object Model) determines which version of an Office application is loaded when you use Office Automation.

MORE INFORMATION

When a COM server is first installed or registered, it adds entries to the registry that correspond with the server's programmatic identifier (PROGID) and class identifier (CLSID). These registry settings allow COM to retrieve information about a server, such as where the server is installed, and enables you to automate the server. To illustrate, Excel 2000 has the Excel.Application version-independent PROGID and the {00024500-0000-0000-C000-000000000046} CLSID. COM related registry entries for Excel 2000 include the following:
HKEY_CLASSES_ROOT\Excel.Application\CLSID
Default Value: {00024500-0000-0000-C000-000000000046}
HKEY_CLASSES_ROOT\CLSID\{00024500-0000-0000-C000-000000000046}\LocalServer32

Default Value: C:\PROGRA~1\MICROS~1\Office\EXCEL.EXE /automation
By following the registry keys from the PROGID to the CLSID, COM can learn where the Excel executable file is installed and start it for Automation.

When you have multiple versions of Office installed and you use Automation to one of the Office servers, the version that loads is governed by these settings in the registry. For the most part, the rule is that the last version that was installed is the version that loads with Automation; however, Word exhibits behavior that differs from the other Office applications. The different behaviors for each of the Office Automation servers are described in the following sections.

Access, Excel, and PowerPoint versions 97, 2000, 2002, 2003, and 2007

Access, Excel, and PowerPoint modify these registry keys during Office setup. When you automate one of these applications, the version that is loaded is the version that was last installed.

Word 97

Word 97 modifies these registry keys during Office setup. When you automate Word, if either Word 2000 or Word 2002 are installed, Word 97 loads only if it was the last version installed.

Word 2000, 2002, 2003, and 2007

Word 2000, 2002, 2003 and 2007 modify these registry keys during Office setup and each time Word starts. When you automate Word, the version that is loaded is the version that was last started by the user or the version that was last installed.

Additional Notes

A common perception for Office Automation when you have multiple versions of Office installed on a system is that you can dictate which version loads by using a specific version-dependent PROGID (for example, that "Excel.Application.9" loads Excel 2000, "Excel.Application.10" loads Excel 2002 and "Excel.Application.11" loads Office Excel 2003). However, this is not correct. Excel 2000 and later versions of Excel share the same CLSID, so the version that loads with these PROGIDs depends solely on which version was last installed.

For testing purposes, developers can force a specific version of an Office application to register by using the /regserver switch on the command line. For example, to force an Excel version to register without running setup, you can use a command line that resembles the following:
   "c:\program files\microsoft office\office\excel.exe" /regserver
				
Although you can implement this switch for testing and development purposes, it is not recommended that you rely on this switch in production scenarios.

For additional information about running multiple Office versions, or side-by-side Office installations, click the following article number to view the article in the Microsoft Knowledge Base:
290576  (http://kbalertz.com/Feedback.aspx?kbNumber=290576/ ) OFFXP: Running Multiple Versions of Microsoft Office

APPLIES TO
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
  • Microsoft Excel 2000 Standard Edition
  • Microsoft Excel 97 Standard Edition
  • Microsoft Office Access 2007
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
  • Microsoft Access 2000 Standard Edition
  • Microsoft Access 97 Standard Edition
  • Microsoft Office PowerPoint 2007
  • Microsoft Office PowerPoint 2003
  • Microsoft PowerPoint 2002 Standard Edition
  • Microsoft PowerPoint 2000 Standard Edition
  • Microsoft PowerPoint 97 Standard Edition
  • Microsoft Office Word 2007
  • Microsoft Word 2002
  • Microsoft Word 2000
  • Microsoft Word 97 Standard Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual C++ 6.0 Professional Edition
Keywords: 
kbexpertiseinter _ik11561 kbautomation kbgrpdso kbinfo kbpending kbvba kbvbp KB292491
       

Community Feedback System

Very often, it takes hours to solve a problem. Very often, you've looked high and low, and have tried a lot of solutions. When you finally found it, chances are, it was because someone else helped you. Here's your chance to give back. Use our community feedback tool to let others know what worked for you and what didn't.

Please also understand that the community feedback system is not warranted to be correct, it's simply a system that we've built to let people try and help each other. If something in a feedback response doesn't make sense to you, or you're not comfortable making changes that the feedback talks about (like registry edits), please consult a professional.

Thank you for using kbAlertz.com Feedback System.

-- Scott Cate

Be the first to leave feedback, to help others about this knowledge base article.

(Optional) Name

(Optional) Public URL Or Email

Comments
No HTML -- Text Only Please