PRB: You Receive a "Reinstall" Message or Experience Other Problems in Office After You Remove a VBA-Enabled Application (810786)



The information in this article applies to:

  • Microsoft Visual Basic for Applications (VBA) Software Development Kit (SDK) 6.0
  • Microsoft Visual Basic for Applications (VBA) Software Development Kit (SDK) 5.0
  • Microsoft Office 2000 Developer
  • Microsoft Office 97 Developer Edition

SYMPTOMS

You may experience improper behavior, receive a reinstall message for any remaining VBA-enabled application or Office application that is left on the system, or both. The exact behavior or message varies, depending on the circumstances, but may include the following:
  • The next time that you start an Office application, Microsoft Windows Installer begins a Detect and Repair operation for the Office product. If the source location for the install cannot be found, you may be prompted for the Office CD-ROM to continue the repair.
  • Certain shared features such as the Office Assistant or the Office Clipboard may not start. Therefore, the shared features may be unavailable until a repair is performed.
  • Microsoft Outlook cannot start Microsoft Word as its e-mail editor and instead returns an error.
  • Office applications in an OLE embedded situation (for example, when the application is open in the Binder or when it is started in another Office application) may not be able to merge CommandBar data. Therefore, the menus and the toolbars may not show commands that are supported by the in-place object. Or, the menus and the toolbars may show only certain commands such as those that are supported by typical menu merging that is different from CommandBar data.

CAUSE

If you remove (uninstall) a VBA-enabled host application from a system, this may unregister the shared Microsoft Office library (MSO). All VBA-enabled applications include the shared MSO. The VBA-enabled applications use one of the following versions. The version that is used by the VBA-enabled application is based on the version of the software development kit (SDK) that is licensed by the VBA host:
   VBA SDK       Office Library
   --------------------------------------
   VBA 5.0       MSO97.DLL (Office 97)
   VBA 6.0-6.2   MSO9.DLL  (Office 2000)
   VBA 6.3       MSO.DLL   (Office XP)
				
During installation, the VBA-enabled host installs one of these shared versions of MSO. The install is properly reference counted to make sure that it is not removed when it is in use by another application. However, this reference count is performed for a particular version of the DLL, not across versions. Therefore, if the host is removed, and the host has the last reference for a particular version, the host may unregister and then remove that version. If clients use an older version, certain keys in the registry may not be properly set up. When this occurs, you may experience one of the issues described in the "Symptoms" section of this article.

For example, if a VBA-enabled host that runs VBA 6.2 installs the MSO9.dll file on a computer that also has Office 97 installed, when the host is removed, it removes MSO9.dll. This leaves MSO97.dll alone and still usable by Office 97. However, when MSO9 is removed, this removes the proxy/stub keys for in-place mail editing. The Office 97 client may not be able to use Word Mail from Outlook even though MSO97 is still installed.

RESOLUTION

After you remove a VBA-enabled host application, you must reregister the shared MSO for any remaining applications. You can do this if you rerun the installation program for that application, or if you use the Detect and Repair feature for Office 2000.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

This problem is not specific to Office because a number of non-Microsoft applications are VBA-enabled and use versions of the shared MSO. Therefore, you may experience related problems with other VBA-enabled applications if you remove Office or another VBA-enabled host application, and the third-party product uses certain features of MSO. The exact problems vary from host to host.

REFERENCES

There is no complete list of all VBA-enabled applications.

For more information about the most common Microsoft Licensing Partners that use either or both VBA or MSO, visit the following Microsoft Web site:

http://msdn.microsoft.com/vba/companies/company.asp

There are also various Microsoft products that do not incorporate VBA but that do use MSO and may therefore also be affected. These include Microsoft MapPoint and Microsoft Visual Studio .NET.

For more information about VBA licensing and the SDK, visit the following Microsoft Web site:

http://msdn.microsoft.com/vba

Modification Type:MajorLast Reviewed:5/20/2003
Keywords:kbprb KB810786 kbAudDeveloper