7

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

4

1 回答 1

9

如此处建议:如何检查系统上是否安装了 OLEDB 驱动程序?您可以在注册表中查找 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;
    }
}
于 2010-07-02T09:05:37.957 回答