2010-03-22 15 views

Odpowiedz

6

Jak zasugerowano tutaj: How to check if an OLEDB driver is installed on the system? możesz wyszukać klucz VFPOLEDB w Rejestrze. Otwórz regedit i wyszukaj VFPOLEDB, znajdziesz go w kilku miejscach; Jesteś zainteresowany w jednym tutaj:

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

Więc wiemy VFPOLEDB powinna zostać zarejestrowana tutaj:

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

Możemy sprawdzić, czy to nie za pomocą tej C# wyrażenie:

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

Lub możemy go zawinąć w ładną klasę statyczną, aby ułatwić ponowne użycie:

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

ładne rozwiązanie, ale nie zapomnij zamknąć podklucza w przypadku, gdy jest jakiś wyjątek. – juFo

Powiązane problemy