Microsoft KB Archive/278636

From BetaArchive Wiki

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 "More Information" 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 "side-by-side" 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 "side-by-side" 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.

Command Behavior
xmlinst (Replace Mode) Replace the existing MSXML parser with Msxml3.dll.
xmlinst -u msmxl Deletes all entries from the registry that were created by Msxml.dll.
xmlinst -u msxml3 Deletes all entries from the registry that were created by Msxml3.dll.
xmlinst -u Deletes all entries from the registry that were created by any version of the MSXML parser.
xmlinst -? Print usage message.



To Switch to a Different Version of the MSXML Parser

Use the following steps to switch to a different version of the MSXML parser:

  1. 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.

  2. Next, register the DLL files you want to use.

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

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

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

      regsvr32 msxml3.dll

MSXML Versions

Versions File Name File Version #
1.0 Msxml.dll 4.71.1712.5
1.0a Msxml.dll 4.72.2106.4
1.0 Service Pack 1 (SP1) Msxml.dll 4.72.3110.0
2.0 Msxml.dll 5.0.2014.0206
2.0a Msxml.dll 5.0.2314.1000
2.0b Msxml.dll 5.0.2614.3500
2.5 Beta 2 Msxml.dll 5.0.2919.38
2.5a Msxml.dll 5.0.2919.6303
2.5 Msxml.dll 5.0.2920.0
2.5 Service Pack 1 (SP1) Msxml.dll 8.0.5226
2.6 January 2000 Web Release Msxml2.dll (January Web Release) 7.50.4920.0
2.6 Beta 2 Msxml2.dll 8.0.5207.3
2.6 Msxml2.dll 8.0.6518.1
3.0 March 2000 Web Release Msxml3.dll (March Web Release) 7.50.5108.0
3.0 May 2000 Web Release Msxml3.dll (May Web Release) 8.0.7309.3
3.0 July 2000 Web Release Msxml3.dll (July Web Release) 8.0.7520.1
3.0 September 2000 Web Release Msxml3.dll (September Web Release) 8.0.7722.0
3.0 Release Msxml3.dll 8.0.7820.0

XML Versions Shipped with Products

Operating System or Program Internet Explorer

Version

MSXML

Version

* Microsoft Internet Explorer 4.0 1.0

File version #: 4.71.1712.5

Microsoft Windows 95, OEM Service Release 2.5 Microsoft Internet Explorer 4.0a 1.0a

File version #: 4.72.2106.4

* Microsoft Internet Explorer 4.01 Service Pack 1 (SP1) 2.0a

File version #: 5.0.2014.0206

* Microsoft Internet Explorer 5.0 2.0

File version #: 5.0.2014.0206

Microsoft Office 2000 Microsoft Internet Explorer 5.0a 2.0a

File version #: 5.0.2314.1000

MSXML redistribution 2.0a

File name: Msxmlr.dll
File version #: 5.0.2314.1000

Microsoft Windows 98 Second Edition Microsoft Internet Explorer 5.0b 2.0b

File version #: 5.0.2614.3500

Microsoft Windows 95 or Microsoft Windows 98 Microsoft Internet Explorer 5.01 2.5a

File version #: 5.0.2919.6303

Microsoft Windows NT 4.0 Microsoft Internet Explorer 5.01 2.5a

File version #: 5.0.2919.6303

Microsoft Windows 2000 Microsoft Internet Explorer 5.01 2.5 File version #: 5.0.2920.0
Microsoft Windows 2000 Microsoft Internet Explorer 5.01 Service Pack 1 (SP1) 2.5 Service Pack 1 (SP1)

File version #: 8 .0.5226

Microsoft Windows 95 or Microsoft Windows 98 Microsoft Internet Explorer 5.5 2.5 Service Pack 1 (SP1)

File version #: 8.0.5226

Microsoft Windows NT 4.0 Microsoft Internet Explorer 5.5 2.5 Service Pack 1 (SP1)

File version #: 8.0.5226

Microsoft Windows 2000 Microsoft Internet Explorer 5.5 2.5 Service Pack 1 (SP1)

File version #: 8.0.5226

Microsoft Windows 2000 Service Pack 1 (SP1) Microsoft Internet Explorer 5.5 2.5 Service Pack 1 (SP1)

File version #: 8.0.5226



SQL Server MSXML Version
Microsoft SQL Server 2000 Beta 2 2.6 b2

File version #: 8.0.5207.3

Microsoft SQL Server 2000 2.6

File version #: 8.0.6518.1



BizTalk MSXML Version
BizTalk (Technology Preview) 2.6

File version #: 8.0.6518.1

BizTalk (Beta) 2.6

File version #: 8.0.6518.1



Globally unique identifier (GUID) and ProgID Information

The MSXML 3.0 Beta release is installed on your computer in "side-by-side" mode. This mode protects the quality of applications that currently use the Msxml.dll and Msxml2.dll files. The "side-by-side" 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.

Symbolic Name GUID ProgID
CLSID_DOMDocument old: {2933BF90-7B36-11D2-B20E-00C04F983E60}

new: {f6d90f11-9c73-11d3-b32e-00c04f990bb4}

old: Microsoft.XMLDOM, MSXML.DOMDocument

new: MSXML2.DOMDocument

version dependent:

CLSID_DOMDocument30

{f5078f32-c551-11d3-89b9-0000f81fe221} MSXML2.DOMDocument.3.0
CLSID_FreeThreadedDOMDocument old: {2933BF91-7B36-11D2-B20E-00C04F983E60}

new: {f6d90f12-9c73-11d3-b32e-00c04f990bb4}

old: Microsoft.FreeThreadedXMLDOM,

MSXML.FreeThreadedDOMDocument
new:
MSXML2.FreeThreadedDOMDocument

version dependent:

CLSID_FreeThreadedDOMDocument30

{f5078f33-c551-11d3-89b9-0000f81fe221} MSXML2.FreeThreadedDOMDocument.3.0
CLSID_DSOControl old: {550DDA30-0541-11D2-9CA9-0060B0EC3D39}

new: {f6d90f14-9c73-11d3-b32e-00c04f990bb4}

old: Microsoft.XMLDSO

new: MSXML2.DSOControl

version dependent:

CLSID_DSOControl30

{f5078f39-c551-11d3-89b9-0000f81fe221} MSXML2.DSOControl.3.0
CLSID_XMLHTTP old: {ED8C108E-4349-11D2-91A4-00C04F7969E8}

new: {f6d90f16-9c73-11d3-b32e-00c04f990bb4}

old: Microsoft.XMLHTTP

new: MSXML2.XMLHTTP

version dependent:

CLSID_XMLHTTP30

{f5078f35-c551-11d3-89b9-0000f81fe221} MSXML2.XMLHTTP.3.0
CLSID_XMLSchemaCache {373984C9-B845-449B-91E7-45AC83036ADE} MSXML2.XMLSchemaCache
version dependent:

CLSID_XMLSchemaCache30

{f5078f34-c551-11d3-89b9-0000f81fe221} MSXML2.XMLSchemaCache.3.0
CLSID_XSLTemplate {2933BF94-7B36-11d2-B20E-00C04F983E60} MSXML2.XSLTemplate
version dependent:

CLSID_XSLTemplate30

{f5078f36-c551-11d3-89b9-0000f81fe221} MSXML2.XSLTemplate.3.0


Keywords: kbproductlink kbmsxmlnosweep kbprb KB278636