6
如果VFPOLEDB提供程序已安裝/註冊,我需要檢查我的程序嗎?我想顯示一條消息並告訴用戶下載並安裝提供程序。我如何在C#中檢查它?如何確定VFPOLEDB提供程序是否已安裝/註冊?
如果VFPOLEDB提供程序已安裝/註冊,我需要檢查我的程序嗎?我想顯示一條消息並告訴用戶下載並安裝提供程序。我如何在C#中檢查它?如何確定VFPOLEDB提供程序是否已安裝/註冊?
如此處所示:How to check if an OLEDB driver is installed on the system?您可以在註冊表中查找VFPOLEDB的密鑰。打開regedit
並搜索VFPOLEDB,你會在幾個地方找到它;你在這裏所感興趣的一個:
HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\0\win32
因此,我們知道VFPOLEDB應該註冊在這裏:
HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}
我們可以,如果是有使用這個C#表達測試:
(Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null)
或者我們可以將它包裝在一個很好的靜態類中,以便於重複使用:
public static class CheckVfpOleDb
{
public static bool IsInstalled()
{
return Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null;
}
}
不錯的解決方案,但不要忘記關閉你的子鍵,以防有一些例外。 – juFo 2013-01-17 16:44:34