Microsoft KB Archive/278636

= PRB: Application Errors Occur After You Run Xmlinst.exe on Production Servers =

Article ID: 278636

Article Last Modified on 10/26/2007

-

APPLIES TO


 * Microsoft XML Parser 2.0
 * Microsoft XML Parser 2.5
 * Microsoft XML Parser 2.6
 * Microsoft XML Parser 3.0
 * Microsoft SQL Server 2000 Standard Edition
 * Microsoft Exchange 2000 Server Standard Edition

-



This article was previously published under Q278636



SYMPTOMS
After you run Xmlinst.exe, applications (such as SQL Server 2000) may not operate as expected.



CAUSE
When you run Xmlinst.exe, the program alters the ProgID values in the registry for all the previous versions of Microsoft XML parser (MSXML), and forces them to use the latest version of the MSXML DLL file.



RESOLUTION
To resolve the problem and reverse the effects of the previous Xmlinst.exe program, you must first run xmlinst.exe -u to remove the existing registry keys. After you run xmlinst.exe -u you must use Regsrv32.exe to register the specific versions of the DLLs that you need. Microsoft recommends that you register all the current versions of the MSXML parser. To install a specific version of the MSXML parser, refer to the table in the &quot;More Information&quot; section, which details the MSMXL versions. For example, to register the MSXML 2.6 parser, use the following command:

regsvr32.exe msxml2.dll



STATUS
This behavior is by design.

Xmlinst.exe is designed to be a convenient way for developers to run the latest version of the MSXML parser in all of their programs. Thus, the developer can avoid the need to recompile and update all of their existing programs to use and test the latest version of the MSXML parser, regardless of the version the program was originally specified to use.



MORE INFORMATION
The MSXML parser is intended for installation in &quot;side-by-side&quot; mode, which allows you to install the specific versions of the MSXML parser that you want without one installation of the MSXML parser affecting another. Thus, all separate versions of the MSXML parser can coexist. In addition, the new and previous DLLs for the parser can reside &quot;side-by-side&quot; on your computer.

An alternate method for the installation of the parser is to as the Replace Mode. In Replace Mode, all the references to any version references of the MSXML parser are updated so that only the latest version of the MSXML parser is used.

Therefore, when you run Xmlinst.exe, Xmlinst.exe may cause programs to fail that were written and tested with specific versions.

Note that if you run Xmlinst.exe, Xmlinst.exe may cause system instability and can cause programs to fail. After you run Xmlinst.exe, the computer is in an unsupported state. Furthermore, the changes made by Xmlinst.exe are global to the computer on which Xmlinst.exe was run, and thus affect all the programs that use the MSXML parser.

While MSXML is installed in Replace Mode, no DLLs are replaced or deleted. Only the registry is updated. Xmlinst.exe updates all the registry entries for each specific version of the MSXML parser so that it points to the newest version of the MSXML parser. Therefore, to reverse the effects of a prior execution of Xmlinst.exe, all the prior versions of the DLLs must be resident on the computer because Xmlinst.exe only updates the registry. The Xmlinst.exe commands and descriptions are listed in the table that follows.

To Switch to a Different Version of the MSXML Parser
Use the following steps to switch to a different version of the MSXML parser:

 At the command prompt, type the following where pathname is the location of Xmlinst.exe:

pathname\xmlinst.exe -u

The preceding command cleans out all the registry entries.

 Next, register the DLL files you want to use.

 To register Msxml.dll, type the following command, and then press ENTER:

regsvr32 msxml.dll  To register Msxml2.dll, type the following command, and then press ENTER:

regsvr32 msxml2.dll  To register Msxml3.dll, type the following command, and then press ENTER:

regsvr32 msxml3.dll </li></ol> </li></ol>

MSXML Versions

XML Versions Shipped with Products
Globally unique identifier (GUID) and ProgID Information

The MSXML 3.0 Beta release is installed on your computer in &quot;side-by-side&quot; mode. This mode protects the quality of applications that currently use the Msxml.dll and Msxml2.dll files. The &quot;side-by-side&quot; mode also allows you to decide which version of the parser to use in your code. If you currently run MSXML in the side-by-side mode, and you have coded to old ClassIDs and ProgIDs, your applications do not pick up the new features of the MSXML 3.0 Beta release. To enable applications to use the features of the MSXML 3.0 Beta release, run the parser in Replace Mode.

NOTE: When you run the parser in Replace Mode, the Replace Mode may alter the behavior of the XML applications that use old ProgIDs.

The following table is a convenient reference table, which shows the different Symbolic Name, GUID, and ProgID combinations.

Keywords: kbproductlink kbmsxmlnosweep kbprb KB278636

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.