2010-03-22 28 views

Respuesta

6

Como se sugiere aquí: How to check if an OLEDB driver is installed on the system? puede buscar la clave de VFPOLEDB en el Registro. Abra regedit y busque VFPOLEDB, lo encontrará en varios lugares; Usted está interesado en el que recubre aquí:

HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\0\win32 

por lo que sabemos vfpoledb debe registrarse aquí:

HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000} 

Podemos probar si está allí el uso de este C# expresión:

(Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null) 

O podemos envolverlo en una buena clase estática para facilitar su reutilización:

public static class CheckVfpOleDb 
{ 
    public static bool IsInstalled() 
    { 
     return Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null; 
    } 
} 
+0

buena solución, pero no olvide cerrar su subclave en caso de que haya alguna excepción. – juFo

Cuestiones relacionadas