Microsoft KB Archive/810786

= PRB: You Receive a “Reinstall” Message or Experience Other Problems in Office After You Remove a VBA-Enabled Application =

Article ID: 810786

Article Last Modified on 5/10/2007

-

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 Edition
 * 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 &quot;Symptoms&quot; 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.

