2010-03-22 14 views

Répondre

6

Comme suggéré ici: How to check if an OLEDB driver is installed on the system? vous pouvez rechercher la clé de VFPOLEDB dans le Registre. Ouvrez regedit et recherchez VFPOLEDB, vous le trouverez dans plusieurs endroits; Vous êtes intéressé par l'un ici:

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

Nous savons donc vfpoledb devrait être enregistré ici:

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

Nous pouvons tester si elle est là en utilisant cette C# expression:

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

Ou nous pouvons envelopper dans une classe statique agréable pour une réutilisation facile:

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

bonne solution, mais n'oubliez pas de fermer votre sous-clé au cas où il y aurait une exception. – juFo