Microsoft Data Access Components (MDAC) Installation

Reid Wilkes, Acey J. Bunch, Debra Dove

Microsoft Corporation

May 2005

Applies to:

  • Microsoft Data Access Components (MDAC)

  • Microsoft SQL Server

Summary: Learn how Microsoft Data Access Components (MDAC) gets installed, the recent version history of MDAC, and the common issues that you might encounter during an MDAC installation. (8 printed pages)

Contents:

  • Introduction

  • Installation Versions and Operating System Compatibilities

  • Installation Versions and SQL Server Versions

  • MDAC Components Overview

  • Component Checker Tool

  • Troubleshooting Setup Issues

  • Knowledge Base Article Resources

Introduction

Microsoft Data Access Components (MDAC) is a set of software components that are used to provide applications a means to access data from various data storage sources, with a focus on access to Microsoft SQL Server. A large number of applications, and the operating system itself, depend on MDAC-contained components for proper operation. MDAC is not a single product; rather, it is a collection of DLLs and associated component resources to support a number of different APIs, including Open Database Connectivity (ODBC), OLE DB, Microsoft ActiveX Data Objects (ADO), and Microsoft Remote Data Service (RDS). MDAC installation not only places a large number of common shared files in various places across the Microsoft Windows system drive; it is also responsible for adding many registry keys to the registry.

MDAC is included with a large number of applications and Windows operating systems. Frequently, MDAC components are installed in silent mode; because of this behavior, the user might be unaware that a given application is even installing an MDAC update. In addition, some third-party applications are known to install only certain key parts of MDAC and to modify registry keys that MDAC components use without installing an entire MDAC package. Many times these partial installations of MDAC caused other applications to break, and they were extremely difficult to identify and fix because error messages came from the applications consuming MDAC. This situation led Microsoft to include the core MDAC components in the class of files that are known as Windows File Protection files, starting with Microsoft Windows Millennium Edition (Me) for operating systems that are based on the Microsoft Windows 98 and Windows 95 architecture, and with Microsoft Windows 2000 and Windows XP for operating systems that are based on the Microsoft Windows NT architecture. Windows File Protection files can only be replaced or updated by authorized installation applications, which include Windows service pack installations and the MDAC redistributable installers that are available from the Microsoft Data Access and Storage Developer Center website.

For more information about Windows File Protection and the MDAC stack, see The MDAC 2.5 Stack and Windows File Protection.

Because MDAC is installed by such a wide variety of applications and it was possible to install and modify subsets of the MDAC package in earlier operating systems, MDAC installation and configuration issues are quite common and can be very difficult to resolve. The information in this white paper is intended to familiarize you with common issues that you might encounter during MDAC installation and to provide troubleshooting methods for, as well as solutions to, some of the common issues with existing versions.

Installation Versions and Operating System Compatibilities

This article focuses only on some of the more recent MDAC versions and operating systems. The following MDAC versions are covered:

  • MDAC version 2.1 Service Pack 2 (SP2)

  • MDAC version 2.5 Release to Manufacturing (RTM)

  • MDAC version 2.5 Service Pack 1 (SP1)

  • MDAC version 2.5 SP2

  • MDAC version 2.6

  • MDAC version 2.6 SP1

  • MDAC version 2.6 SP2

  • MDAC version 2.7

  • MDAC version 2.7 SP1

  • MDAC version 2.8

  • MDAC version 2.8 SP1

The following operating systems are also covered:

  • Microsoft Windows 98 Second Edition

  • Windows Me

  • Windows NT version 4.0 Service Pack 6a (SP6a)

  • Windows 2000

  • Microsoft Windows XP

  • Microsoft Windows Server 2003

As mentioned earlier, Windows Me, Windows 2000, and Windows XP all hold MDAC core components as Windows File Protection files. Because of this, updates to MDAC are considered operating system upgrades on these systems. Over time, service packs have been released to the various MDAC versions. MDAC service pack installation installs the entire MDAC stack on a computer; MDAC service packs are not incremental patches, as is the case with some products. Therefore, you do not need to install MDAC 2.6 before you install MDAC 2.6 SP1, for example.

MDAC 2.5 is preinstalled in Windows Me and Windows 2000. There is no way to install a version of MDAC that is earlier than MDAC 2.5 on computers that are running these operating systems. In addition, you must use operating system service packs to install MDAC 2.5 SP1 and SP2 on Windows 2000 and Windows Me. For example, Windows 2000 SP1 contains MDAC 2.5 SP1, and Windows 2000 SP2 contains MDAC 2.5 SP2. At the time of this article's publication, there are no service packs for Windows Me; therefore, no MDAC 2.5 service packs can be applied to these systems. On computers that are running either Windows Me or Windows 2000, you can apply MDAC 2.6 and later directly.

MDAC 2.7 RTM is preinstalled on Windows XP; because the MDAC files are Windows File Protection files, MDAC 2.7 RTM is the earliest version that you can install on Windows XP.

The requirements for the earlier operating systems (Windows 98 Second Edition and Windows NT 4.0) are not as stringent; you can install any version of MDAC that is described in this article on a computer that is running either of these operating systems. MDAC 2.1 SP1a is preinstalled in Windows 98 Second Edition. Computers that are running Windows NT 4.0 usually have an MDAC version that is installed by some application, such as SQL Server, a Microsoft server resource kit, or Microsoft Office. In addition, Microsoft Internet Explorer version 5 SP1 installs a subset version of MDAC 2.1 SP1a.

The following table indicates whether or not specific versions of MDAC can be installed for each operating system and lists the mechanism that you must use to install MDAC. Mdac_typ.exe refers to the redistributable installer for the given MDAC version, which is available from the Data Access and Storage Developer Center MDAC Downloads website.

MDAC Version Number

Windows 98 and Windows 98 Second Edition

Windows Me

Windows NT 4.0

Windows 2000

Windows XP

Windows 2003

MDAC 2.1 SP2

Mdac_typ.exe

Cannot be installed

Mdac_typ.exe

Cannot be installed

Cannot be installed

Cannot be installed

MDAC 2.5

Mdac_typ.exe

Installed with operating system

Mdac_typ.exe

Installed with operating system

Cannot be installed

Cannot be installed

MDAC 2.5 SP1

Mdac_typ.exe

Cannot be installed

Mdac_typ.exe

Windows 2000 SP1

Cannot be installed

Cannot be installed

MDAC 2.5 SP2

Mdac_typ.exe

Cannot be installed

Mdac_typ.exe

Windows 2000 SP2

Cannot be installed

Cannot be installed

MDAC 2.6

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Cannot be installed

Cannot be installed

MDAC 2.6 SP1

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Cannot be installed

Cannot be installed

MDAC 2.6 SP2

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Cannot be installed

Cannot be installed

MDAC 2.7

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Installed with operating system

Cannot be installed

MDAC 2.7 SP1

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Cannot be installed

MDAC 2.8

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Installed with operating system

MDAC 2.8 SP1

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Mdac_typ.exe

Installed with Windows XP SP2, otherwise cannot be installed

Cannot be installed

Installation Versions and SQL Server Versions

SQL Server is perhaps the most closely related to the MDAC components of all of the Microsoft products. Because of this, this article makes special note of the versions of MDAC that are included with SQL Server versions.

The following versions of MDAC are included with the specified version of SQL Server:

  • SQL Server 7.0 RTM includes MDAC 2.1 RTM.

  • SQL Server 7.0 SP1 includes MDAC 2.1 SP1.

  • SQL Server 7.0 SP2 includes MDAC 2.1 SP2.

  • SQL Server 7.0 SP3 includes MDAC 2.1 SP2.

    Note

    Although SQL Server 7.0 SP3 includes MDAC 2.1 SP2, updated versions of the SQL Server ODBC driver and OLE DB provider are included, as well as the SQL Server network library DLLs.

  • SQL Server 2000 and SQL Server 2000a includes MDAC 2.6.

  • SQL Server 2000 SP1 includes MDAC 2.6 SP1.

  • SQL Server 2000 SP2 includes MDAC 2.6 SP2.

  • SQL Server 2000 SP3 includes MDAC 2.71.

  • SQL Server 2000 SP3a and MSDE 2000a include MDAC 2.71a.

  • SQL Server 2000 SP4 includes MDAC 2.8 SP1.

First, MDAC components are by nature client components. SQL Server installs these components on the server to provide local connectivity to a SQL Server instance. However, when you are troubleshooting SQL Server connectivity issues, you should investigate the MDAC version on the client, not on the server.

Second, there is a large degree of flexibility regarding which MDAC version a client must have to communicate with SQL Server. For example, there is no requirement that a client computer must have MDAC 2.1 SP2 installed to communicate with a computer that is running SQL Server 7.0 SP3. In fact, in most situations, that client can establish a connection to and retrieve data from the SQL Server instance with any of the MDAC versions that are described in this article. A major limitation to MDAC version compatibility on instances of SQL Server is that MDAC 2.6 or later should not be installed on a SQL Server 7.0 or 6.5 cluster. For more information, see the Microsoft Knowledge Base (KB) article Q239473, PRB: 70rebind.exe for Windows 2000 and MDAC Upgrades on Clustered SQL Server 7.0 Servers.

MDAC Components Overview

As mentioned earlier, MDAC is not a single product, but a collection of components that comprise several data access technologies. The MDAC components have historically included the core pieces OLE DB, ODBC, ADO, and RDS. In addition, the Jet database engine is included in versions earlier than MDAC 2.6. MDAC also includes several ODBC drivers and OLE DB providers for common data sources, including SQL Server, Microsoft FoxPro, Oracle, and Jet (earlier than MDAC 2.6).

In MDAC versions that are later than MDAC 2.6, Jet is not included with the MDAC components set; therefore, the Jet engine core components, the Jet ODBC driver, and the Jet OLE DB provider are no longer included as a part of MDAC.

The latest Jet components are available as a part of MDAC 2.5 SP2. If you want to use MDAC 2.6 or later (including the latest Jet components), first install MDAC 2.5 SP2, and then upgrade to the latest Jet components. You can also obtain the latest Jet components for installation on existing MDAC 2.6 and later installations as a stand-alone distributable file. For information about obtaining this distributable file, see the Microsoft KB article Q239114, How To: Obtain the Latest Service Pack for the Microsoft Jet 4.0 Database Engine.

On Windows XP, the Jet components that are included with MDAC 2.5 SP2 are preinstalled with the OS. For a complete list of the files (and their versions) that are included with each MDAC release, see Data Access and Storage Developer Center MDAC Downloads.

Component Checker Tool

Determining which version of MDAC is installed on a computer at any given time presents certain difficulties because individual MDAC files may have been replaced by an errant installer, which complicates the situation. Component Checker is probably the most useful tool that is available for verifying MDAC installations. Component Checker is available for download from Data Access and Storage Developer Center MDAC Downloads.

You can use Component Checker to scan the files and registry on a computer, and then compare the current MDAC files and settings on the computer against a database of all the files that are included with each MDAC version. From this information, Component Checker determines which version of MDAC is on your computer and identifies any differences between your current MDAC configuration and a clean MDAC installation.

After you download Component Checker, you can simply run the downloaded file, which extracts the Component Checker files by default into the C:\ComponentChecker folder. You can start cc.exe either from the command prompt or by using Windows Explorer. When you start the Component Checker program, you are presented with three options, of which the Perform an analysis against your machine and automatically determine release version option is the most commonly used. The program scans the computer to determine the MDAC version that most closely matches your computer's configuration. Because the scan compares file versions and registry settings against database files that are included with Component Checker, you can verify only those MDAC versions for which Component Checker has been updated. Currently, MDAC 2.8 is the latest version that Component Checker can verify. The Component Checker version that is available for download is updated when new versions of MDAC are released.

After Component Checker scans your computer, it reports which version of MDAC is closest to the configuration of your computer, and then it lists all of the discrepancies that it found between a clean MDAC installation and the configuration of your computer. (To save this summary report to a comma-delimited file, click Save As on the File menu.) If the summary report shows a large number of "File Version Mismatch" errors, your MDAC installation is probably experiencing issues. Be particularly concerned if Component Checker reports that there are DLLs of an earlier version than Component Checker was expecting.

Troubleshooting Setup Issues

When an MDAC installation is unsuccessful, troubleshooting involves taking some standard steps to correct the issues. For more information and essential reading about investigating MDAC Setup issues, see the Microsoft KB article Q232060, HOWTO: MDAC Setup Troubleshooting Guide.

On occasion, MDAC Setup is unsuccessful because of permission issues when Setup writes to the disk or registry. First and foremost, you need to install MDAC with a user account that has administrative permissions on the computer. Apart from that, you can use the Regmon and Filemon tools to help determine the source of these permissions issues. Both tools are available for free download at the third-party website https://www.sysinternals.com.

Note

The third-party contact information included in this article is provided to help you find the technical support you need. This contact information is subject to change without notice. Microsoft in no way guarantees the accuracy of this third-party contact information.

The third-party products discussed in this article are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability.

Regmon is a utility that monitors all of the activity in the registry of a computer, and Filemon monitors all of the file activity on the computer. You can use both tools to filter the collected data, because the logs that both tools generate can grow large very quickly. Microsoft recommends that you set up either utility so that the utility filters exclusively on the dasetup.exe executable file, which is the core of the MDAC installation engine. By examining the logs that are generated by these applications, you can determine whether any disk or registry access was denied and then adjust the permissions on those objects accordingly.

With MDAC 2.6 and later on Windows File Protection operating systems, one known issue might occur; MDAC Setup occasionally stops before completion and rolls back the installation progress. Subsequent attempts to install MDAC continue to fail in a similar manner. If you encounter this issue, contact Microsoft Product Support Services (PSS) to obtain workarounds.

Knowledge Base Article Resources

If the information in this article is not sufficient to resolve your installation issues, or for more information about MDAC Setup, consult the Microsoft Knowledge Base. Microsoft PSS is also available to assist you with any issues that are related to MDAC installations. The following is a partial list of KB articles about MDAC installation: