2010-03-22 30 views

risposta

6

Come suggerito qui: How to check if an OLEDB driver is installed on the system? è possibile cercare la chiave di VFPOLEDB nel Registro di sistema. Apri regedit e cerca VFPOLEDB, lo troverai in diversi posti; Sei interessato a quello qui:

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

Così sappiamo vfpoledb deve essere registrato qui:

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

Possiamo verificare se è lì con questo C# espressione:

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

Oppure possiamo avvolgerlo in una bella classe statica per un facile riutilizzo:

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

bella soluzione, ma non dimenticare di chiudere la sottochiave nel caso ci sia qualche eccezione. – juFo

Problemi correlati