Forcing a reinstall of the Microsoft Data Access Components
Under certain situations the ODBC subsystem in Windows can be corrupted For example, during an application install part of the driver set is overwritten set but not the whole thing because some of the files are locked by another process. The MDAC is a critical peice of the Windows infrastructure because among other things it provides the handlers for connecting to and modifying the Windows SAM. A damaged MDAC installation, particularly when it affects the Jet component, can lead to a large number of ambiguous errors and can leave the computer unusable.
Using ComponentChecker to verify the integrity of MDAC components
Microsoft provide a tool for checking the MDAC subsystem to check to see if it is installed correctly. It’s available at
http://download.microsoft.com/download/8/4/7/8479c13c-aacd-4b79-bc1b-d64c683191a7/cc_pkg.exe
Launch the program and run a default scan to see which version of the MDAC you have installed. Then click the “scan” button (the “Play” icon in the toolbar) and choose the second option: ‘Perform analysis against a selected version”, choosing the version that the utility detected.
In the left hand panel there are three tree views:
|
|+ File Details
|+ COM Details
|+ Registry Details
Expand these views. There will be up to three categories under each:
|-MATCH
|-MISMATCH
|-UNKNOWN
If none of the categories have “MISMATCH” or “UNKNOWN” entries, you should not attempt to reinstall the MDAC as it is configured correctly.
Download the latest MDAC release
Currently the latest MDAC version is 2.8. You can download it from
http://download.microsoft.com/download/c/d/f/cdfd58f1-3973-4c51-8851-49ae3777586f/MDAC_TYP.EXE
Remove registry entries protecting the MDAC
Open the
registry editor.
REMOVE the key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ExceptionComponents
and all its subkeys.
MODIFY the key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DataAccess\RollbackVersion
and replace the current data with the value 2.5.
Now run the MDAC installer (MDAC_TYPE.EXE) and reboot.
Notes on Windows XP Service Pack 2
The ComponentChecker has not yet been updated to be able to check the stack protected MDAC that ships with Windows XP Service Pack 2. You should not attempt to install MDAC 2.8 on a Windows XP Service Pack 2 machine. Instead, reinstall Service Pack 2.