检查是否已安装MS Access 2010

时间:2010-08-09 07:16:08

标签: c# .net ms-access

我正在维护一个应用程序,该应用程序当前正在检查是否已安装MS Access 2007。它通过验证注册表项是否存在来实现此目的。

public bool IsAccess2007Installed()
{
    RegistryKey rootKey = Registry.ClassesRoot.OpenSubKey(@"Access.Application.12\shell\open\command", false);

    return rootKey != null;
}

如何验证是否已安装MS Access 2010?或者更好的是,我如何验证是否安装了MS Access 2007或更高版本?

假设用户具有管理员权限。

1 个答案:

答案 0 :(得分:1)

您可以检查此键的值(例如Access.Application.12)。 HKEY_LOCAL_MACHINE \ SOFTWARE \类\ Access.Application \ CURVER

所以你的代码行是:

RegistryKey rootKey = Registry.ClassesRoot.OpenSubKey(@"Access.Application\CurVer", false);

if (rootKey == null) return false;

string value = rootKey.GetValue("").ToString();
int verNum = int.Parse(value.subString(value.indexOf("Access.Application.")));
if (value.StartsWith("Access.Application.") && verNum >= 12)
{ return true; }