如何检查是否已安装Microsoft Office?

时间:2009-09-01 09:19:55

标签: c# ms-office

  

可能重复:
  C#: How to know whether certain Office 2003 or 2007 application is installed?

如何检查是否使用C#安装了Microsoft Office?

3 个答案:

答案 0 :(得分:7)

如果您不需要特定的Office版本,可以通过查找其中一个办公室应用程序(例如winword.exe)的应用程序路径进行检查:

private static bool IsOfficeInstalled()
{
    RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Winword.exe");
    if (key!= null)
    {
        key.Close();
    }
    return key != null;
}

答案 1 :(得分:0)

你可以在注册表中找到答案: -

HKEY_LOCAL_MACHINE \ SOFTWARE \微软\办公室\ nn.n \字\ InstallRoot

nn.n将是安装版本11.0或12.00

答案 2 :(得分:0)

尝试使用其中的版本创建对象,如果它抛出错误,很明显,您正在寻找的MSOffice没有安装。

尝试以下

之类的内容
try
{
    //try creating the object here.

}
catch(Exception ex)
{
  // You can decide that the 3rd party instance required is not installed

}

因为所有客户都不会授予您阅读注册表的权限