Installing and Redistributing MSXML 6.0

 

This topic describes requirements and other information related to installing MSXML 6.0.

Overview

MSXML 6.0 provides improved reliability, security, and performance. It is recommended that you upgrade earlier versions of MSXML to MSXML 6.0.

Installing MSXML 6.0 will not affect existing applications that use MSXML 3.0 and MSXML 4.0. Version-independent ProgIDs will not point to MSXML 6.0. Developers must move to the new ProgID to use MSXML6 in their applications.

To code to MSXML 6.0, use the following JScript syntax:

var dom = new ActiveXObject("msxml2.DOMDocument.6.0");  

Important

Ensure the stability of your applications by updating older version-independent CLSIDs and ProgIDs to version-dependent CLSIDs and ProgIDs.

Reference Counting in MSXML 6.0

Some applications are dependent on MSXML 6.0. If an application will be supported on Windows Server 2003, it is important that MSXML 6.0 be redistributed with such applications. For example, SQL Server 2005 contains MSXML 6.0 and will silently install it on your system.

Applications that were installed using Microsoft Installer use reference counting to indicate dependency on a component. When multiple applications indicate such a dependency, an attempt to uninstall the required component will cause the user to receive a warning until all such applications are uninstalled.

When a custom application is built that uses MSXML 6.0 and needs to redistribute MSXML 6.0, the custom application should indicate that it depends on MSXML 6.0 through the install option APPGUID. This enables the MSXML 6.0 installer to warn the user, prior to performing an uninstall, that applications might be broken if the component is removed. When multiple applications that depend on MSXML 6.0 are installed on the same system, the warning ensures that no other application uninstalls MSXML 6.0.

To indicate that your application has a dependency on MSXML 6.0, specify your product code as the value of the APPGUID command line parameter. The product code is a GUID that is the principal identification of an application or product. A product code must be created when using Microsoft Installer to bundle your application setup program. The following is an example:

APPGUID={0CC618CE-F36A-415E-84B4-FB1BFF6967E1},{045458CE-F33A-4ART-44B4-DD22FF6967E1}  

When MSXML 6.0 is installed for the first time, the following registry key is created with an initial value.

 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSXML60\Setup]  
"Uninstall"="{11111111-1111-1111-1111-111111111111}  

Subsequently, whenever MSXML 6.0 is redistributed by some application, the product code for that application is appended to the registry key shown above.

Redistributing MSXML 6.0 Overview

To redistribute MSXML 6.0 with your application, you should incorporate msxml6.msi into your application setup. For more information, see the XML Downloads page of MSDN Online Library and choose the appropriate MSXML version.

System Requirements

MSXML 6.0 is supported in Windows Vista; Windows 2000 Service Pack 4; Windows Server 2003; Windows Server 2003 Service Pack 1; Windows XP Service Pack 1; Windows XP Service Pack 2.

MSXML 6.0 is preinstalled with Windows Vista. For earlier versions of Windows, you can install MSXML 6.0 as a separate download.

MSXML 6.0 also comes with SQL Server 2005.

To download the latest version of MSXML, see the XML Downloads page of MSDN Online Library

See Also

Installing and Redistributing MSXML