Check if MS Access 2010 is installed

孤街醉人 提交于 2019-12-29 08:12:34

问题


I am maintaining an application which currently checks to see whether MS Access 2007 is installed. It does this by verifying that a registry key exists.

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

    return rootKey != null;
}

How would I go about verifying whether MS Access 2010 is installed? Or better yet, how would I verify that MS Access 2007 or later is installed?

It is assumed that the user has administrator privileges.


回答1:


You can check this key for a value (eg. Access.Application.12) instead. HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Access.Application\CurVer

So your line of code would be:

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


来源:https://stackoverflow.com/questions/3438002/check-if-ms-access-2010-is-installed

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!