ODBC & ADO installation

Posted on 2000-04-12
Last Modified: 2010-04-10

What is the safest/ most reliant way to find out if ODBC 3.5, ADO and Access Driver is installed on a computer?
I know that if I install MDAC I will get all that, but they could be there without MDAC installed and I don't want to install MDAC if I don't have to.
So, which are the keys I should read i registry to find out these three things?
(There are so many ODBC-things in the registry I don't know which one I should rely on.)
Question by:Scattan
  • 3
  • 3

Accepted Solution

Assafgo earned 30 total points
ID: 2708671
First, it doesn't hurt to install MDAC, it actually fixed bugs in odbc 3.7 for SQL Server in my case.
Second, all the information you need can be viewed easily from Control Panel->Odbc Data Sources.
There you can find which Odbc drivers are installed, which versions, and what dll's are they using.
All administration can be done from there.

Author Comment

ID: 2709044
Thank you Assafgo, but I'm writing an installation program and cannot go to the control panel etc. to see which installations the computer that the program will be installed on has, I need to do it programmatically.
That's why I don't want to install MDAC if I don't have to, or promt the user to do it if the installation program cannot find the required software.
So do you have any tips on which registry keys I can check for instead?


Expert Comment

ID: 2710804
In this case - simple.
The installed odbc drivers are written in the odbcinst.ini in the windows folder.
If you want to get their versions (it's not there, only the names), then go to the registry for
and there you can find what's installed.
under each subkey of HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI you may also find the details (version, etc..)
Good luck
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center


Author Comment

ID: 2710899

And what about ADO?

Expert Comment

ID: 2711194
ADO is actually an ActiveX component.
To find if it exists, you can use programming methods (QueryInterface...)
The problem is that there are many interfaces to ADO, as you can see in the registry keys under
HKEY_CLASSES_ROOT\ADOConnectObject.ADOConnectObject and anything else that starts with the name ADO.

another way I think will suffice is to check that the file Msadodc.ocx exists
(and you can know the version that way also)

Author Comment

ID: 2711298
OK, thats not the best answer, but its good enough, thank you!

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the first in a series of articles about the C/C++ Visual Studio Express debugger.  It provides a quick start guide in using the debugger. Part 2 focuses on additional topics in breakpoints.  Lastly, Part 3 focuses on th…
Introduction This article is a continuation of the C/C++ Visual Studio Express debugger series. Part 1 provided a quick start guide in using the debugger. Part 2 focused on additional topics in breakpoints. As your assignments become a little more …
The goal of the tutorial is to teach the user how to use functions in C++. The video will cover how to define functions, how to call functions and how to create functions prototypes. Microsoft Visual C++ 2010 Express will be used as a text editor an…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question