This is from an entry inside the MSXML 4.0 SDK ...
Microsoft XML Core Services (MSXML) 4.0
Redistributing MSXML
When you write applications that use Microsoft® XML Core Services
(MSXML) 4.0, you will also need to redistribute MSXML along with your
application. The two ways to redistribute MSXML 4.0 with your
application are:
Use the Windows Installer merge module (Msxml.msm) for CD or file
system based installations.
Use the .CAB file (Msxml4.cab) method of distribution for Web download
installations.
The following sections provide more information about each of these
methods for redistributing MSXML, including the steps you need to
follow to deploy and package your application with each method.
Note Unlike Windows Installer, the Msxml4.cab file does not include
Windows HTTP Services when redistributing MSXML 4.0. For more
information, see Redistributing Windows HTTP Services.
Redistributing MSXML with a Merge Module
The MSXML 4.0 merge module redistribution package allows you to
distribute MSXML 4.0 with any Windows desktop application you build
using Visual Basic 6.0 or Visual C++ 6.0.
To get started, you need to use Visual Studio Installer or another
installation tool that supports the creation of Windows Installer
packages. Visual Studio Installer is an application-packaging tool that
Microsoft provides free of charge to its Visual Studio 6.0 customers.
It requires that at least one Visual Studio 6.0 product be installed
first.
To install Visual Studio Installer
Download Visual Studio Installer 1.1.
To download it from the MSDN Download center, click here.
Select the appropriate language from the drop down box on the right of
the page, and click Go.
Download both setup1.exe and setup2.exe and extract them to the same
folder on your computer.
Close all other applications, and then run setup.exe from the folder
where you extracted the installation files in the previous step.
Follow the instructions in Visual Installer Setup to complete the
installation.
After you have installed Visual Studio Installer, perform the following
steps to create a Windows Installer setup (.msi) package for a Visual
Basic or C++ application that includes and uses the MSXML 4.0 Merge
Module Redistribution Package.
To create a Windows Installer package that installs MSXML 4.0 with your
application
Download the appropriate MSXML 4.0 merge module redistribution package
from the MSDN Download Center.
For example, to download the English version select the link entitled
Merge Module from the MSXML 4.0 download page, or click here.
Run msxmlmsm.exe and extract the msxml4.msm file to a folder on your
computer.
Open Visual Studio Installer 1.1.
To open Visual Studio Installer, click Start, point to Programs, point
to Microsoft Visual Studio 6.0, point to Microsoft Visual Studio 6.0
Enterprise Tools, and then double-click Visual Studio Installer.
In the left side of the New Project dialog box, expand the Visual
Studio folder, and then select the Visual Studio Installer Projects
folder.
On the right side of the dialog box, select Empty Installer.
Specify the name and location of your Microsoft Windows Installer
(.msi) package in the Name and Location edit boxes, and then click
Open.
In the Project Explorer window, click Files.
Right-click and point to Add, then select Merge Module(s).
Browse to the folder where you extracted msxml4.msm to in step 2,
select it, and then click Open.
Make custom changes, such as adding additional files or adding
shortcuts to the project for your application.
To build the project, select Build from the Build menu.
After your application (.msi) file is built, it will be created in the
\output\DISK_1 folder that Visual Studio Installer created under the
folder location you specified in step 6.
To test the Windows Installer package for merged installation of MSXML
4.0.
If MSXML 4.0 was previously installed on your test computer, uninstall
it first.
To uninstall MSXML 4.0, click Start, then click Run and enter the
following command:
regsvr32 %windir%\system32\msxml4.dll
You can then delete the following files from %windir%\system32, the
Windows system directory:msxml4.dll, msxml4a.dll, and msxml4r.dll.
Run the .msi file you created in the previous procedure, and follow the
wizard instructions to install your application.
After installation, you can test that MSXML 4.0 was installed by
verifying that the following files are installed in the
%windir%\system32 directory on your computer:
msxml4.dll
msxml4r.dll
Redistributing MSXML with a CAB File
The MSXML 4.0 CAB file redistribution package makes it possible to
distribute MSXML 4.0 through a Web download page, either on the
Internet or on a private intranet. To do this, you need to create a Web
page that references the msxml4.cab file upon opening. The msxml4.cab
file then downloads the MSXML 4.0 DLLs (msxml4.dll, msxml4a.dll, and
msxmldr.dll) to the user's system folder, and registers MSXML 4.0 on
the user's computer.
To create a Web page that downloads and installs MSXML 4.0 on a user's
computer
Download msxmlcab.exe to your computer from the MSXML 4.0 download page
at the MSDN Download Center.
Run msxmlcab.exe and extract the msxml4.cab file to a folder on your
computer.
Copy the msxml4.cab file to a folder in the virtual root of your Web
server.
Copy the following HTML code and save it as download-msxml4.htm in the
virtual root of your Web server.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<title>MSXML 4.0 SP2 Download Sample</title>
</head>
<body>
<object id="MSXML4"
classid="clsid:88d969c0-f192-11d4-a65f-0040963251e5"
codebase="msxml4.cab#version=4,10,9127,0"
type="application/x-oleobject"
STYLE="display: none">
</object>
This page downloads MSXML 4.0 SP2...
</body>
</html>
Note that the object element, in this example, has five attributes. The
following table describes these attributes.
Attribute Description
id Identifies the object in the DOM. This attribute is optional.
classid Unique ID that identifies the object. This attribute is
mandatory and cannot be changed.
codebase Specifies the path for the msxml4.cab file and the version
number. For example, if the msxml4.cab file is located in the Objects
folder of the Web site's root directory, the codebase can be changed
to:
codebase="Objects/msxml4.cab#version=4,10,9127,0"
The version number can be changed if you want users to download a
different version of MSXML 4.0.
type Specifies the type of object. This attribute cannot be changed.
style Specifies that the object is not displayed on the Web page. This
attribute should not be changed.
To test the Web page that downloads and registers MSXML 4.0
If MSXML 4.0 was previously installed on your test computer, delete the
following files from your system directory: msxml4.dll, msxml4a.dll,
and msxml4r.dll. The MSXML 4.0 DLLs are in the %windir%\system32
directory.
Open Microsoft Internet Explorer, and enter the URL of the Web page
that you created to download MSXML 4.0 in step 3 of the previous
procedure.
For example, if your Web server is running on the same computer, use
the following URL:
http://localhost/download-msxml4.htm
Note You might need to adjust your browser settings to prevent the
download of the CAB file from being blocked by default Internet
Explorer security.
Click Yes in the dialog box that asks if you want to install and run
Microsoft XML Core Services.
Verify that the following files are installed in the %windir%\system32
directory on your computer:
msxml4.dll
msxml4a.dll
msxml4r.dll
Redistributing Windows HTTP Services
Microsoft® Windows® HTTP Services (WinHTTP) provides developers with
a server-supported, high-level interface to the HTTP Internet protocol.
WinHTTP is designed primarily for use in server-based
applications-such as middle-tier servers based on Microsoft Internet
Information Server (IIS)-to send requests through the HTTP protocol
to other servers.
When you use the CAB file method of redistribution for MSXML 4.0,
WinHTTP is not provided. Therefore, you might need to provide its
installation separately.
The most recent versions of Windows HTTP Services are version 5.0
(winhttp5.dll) and version 5.1 (winhttp.dll). If your application
requires WinHTTP, it is strongly recommended that you use WinHTTP 5.1,
rather than WinHTTP 5.0. Version 5.1 contains numerous bug and security
fixes, in addition to the following new features: automatic Web proxy
detection and IPv6 support.
WinHTTP 5.1 is or will be included in the following Windows operating
system updates:
Windows 2000 Service Pack (SP) 3 (for all versions except Datacenter
Server)
Windows XP SP1 (and Windows XP Embedded SP1)
Windows Server 2003