Verificar los controladores ODBC en C# .NET

by | May 2, 2019

El sistema operativo almacena una lista de los controladores ODBC instalados en el registro HKEY_LOCAL_MACHINE.
Hay dos ubicaciones diferentes para los controladores de 32 bits y 64 bits:

32bit: HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers
64bit: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers

En el siguiente ejemplo se pueden obtener toso los de 32Bit:

using (RegistryKey reghklm = Registry.LocalMachine)
using (RegistryKey regdrivers = reghklm.OpenSubKey(@"SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers"))
{
     if (regdrivers != null)
     {
          foreach (string driver in regdrivers.GetValueNames())
          {
               // Muestra los drivers
               Console.WriteLine(driver);
          }
     }
}