2010-03-22 39 views

cevap

6

Burada önerildiği gibi: How to check if an OLEDB driver is installed on the system? Kayıt defterindeki VFPOLEDB'nin anahtarını arayabilirsiniz. regedit'u açın ve VFPOLEDB'yi arayın, birkaç yerde bulacaksınız; Burada üzerinde biri ilgilendiğiniz:

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

yüzden vfpoledb buraya kayıtlı olması gerektiğini biliyorum:

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

orada bu C# ifadesini kullanıyor test edebiliriz:

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

Ya da kolayca yeniden kullanmak için güzel bir statik sınıfta sarılabiliriz:

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

güzel bir çözüm, ancak bazı istisnalar varsa alt anahtarınızı kapatmayı unutmayın. – juFo

İlgili konular