如果安装/注册了VFPOLEDB提供程序,我需要检查我的程序吗?我想显示一条消息并告诉用户下载并安装提供程序。我如何在C#中查看?
答案 0 :(得分:6)
如此处所示: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;
}
}