如果VFPOLEDB提供程序已安装/注册,我需要检查我的程序吗?我想显示一条消息并告诉用户下载并安装提供程序.我如何在C#中查看?
如下所示:如何检查系统上是否安装了OLEDB驱动程序?你可以在注册表中查找VFPOLEDB的密钥.打开regedit并搜索VFPOLEDB,你会在几个地方找到它; 你对这里的那个感兴趣:
HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}\1.0\0\win32
Run Code Online (Sandbox Code Playgroud)
所以我们知道VFPOLEDB应该在这里注册:
HKEY_CLASSES_ROOT\TypeLib\{50BAEECA-ED25-11D2-B97B-000000000000}
Run Code Online (Sandbox Code Playgroud)
我们可以测试它是否在那里使用这个C#表达式:
(Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null)
Run Code Online (Sandbox Code Playgroud)
或者我们可以将它包装在一个很好的静态类中以便于重用:
public static class CheckVfpOleDb
{
public static bool IsInstalled()
{
return Registry.ClassesRoot.OpenSubKey("TypeLib\\{50BAEECA-ED25-11D2-B97B-000000000000}") != null;
}
}
Run Code Online (Sandbox Code Playgroud)