如何确定是否已安装/注册VFPOLEDB提供程序?

时间:2010-03-22 06:42:02

标签: c# oledb provider

如果安装/注册了VFPOLEDB提供程序,我需要检查我的程序吗?我想显示一条消息并告诉用户下载并安装提供程序。我如何在C#中查看?

1 个答案:

答案 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;
    }
}