PRB: Application Errors Occur After You Run Xmlinst.exe on Production Servers (278636)



The information in this article applies to:

  • Microsoft XML 2.0
  • Microsoft XML 2.5
  • Microsoft XML 2.6
  • Microsoft XML 3.0
  • Microsoft SQL Server 2000 (all editions)
  • Microsoft Exchange 2000 Server

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.

CommandBehavior
xmlinst(Replace Mode) Replace the existing MSXML parser with Msxml3.dll.
xmlinst -u msmxlDeletes all entries from the registry that were created by Msxml.dll.
xmlinst -u msxml3Deletes all entries from the registry that were created by Msxml3.dll.
xmlinst -uDeletes 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
VersionsFile 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 ReleaseMsxml3.dll8.0.7820.0

XML Versions Shipped with Products

Operating System or ProgramInternet Explorer
Version
MSXML
Version
*Microsoft Internet Explorer 4.01.0
File version #: 4.71.1712.5
Microsoft Windows 95, OEM Service Release 2.5Microsoft Internet Explorer 4.0a1.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.02.0
File version #: 5.0.2014.0206
Microsoft Office 2000 Microsoft Internet Explorer 5.0a2.0a
File version #: 5.0.2314.1000
MSXML redistribution2.0a
File name: Msxmlr.dll
File version #: 5.0.2314.1000
Microsoft Windows 98 Second EditionMicrosoft Internet Explorer 5.0b 2.0b
File version #: 5.0.2614.3500
Microsoft Windows 95 or Microsoft Windows 98Microsoft 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.5File 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 98Microsoft Internet Explorer 5.5 2.5 Service Pack 1 (SP1)
File version #: 8.0.5226
Microsoft Windows NT 4.0Microsoft 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.52.5 Service Pack 1 (SP1)
File version #: 8.0.5226


SQL ServerMSXML Version
Microsoft SQL Server 2000 Beta 22.6 b2
File version #: 8.0.5207.3
Microsoft SQL Server 20002.6
File version #: 8.0.6518.1


BizTalkMSXML 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 NameGUIDProgID
CLSID_DOMDocumentold: {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_FreeThreadedDOMDocumentold: {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_XMLHTTPold: {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

Modification Type:MajorLast Reviewed:12/5/2003
Keywords:kbMSXMLnosweep kbprb KB278636