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

发布于 2024-08-04 08:03:34 字数 286 浏览 0 评论 0原文

可能的重复:
C#:如何知道是否是否安装了某些 Office 2003 或 2007 应用程序?

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

Possible Duplicate:
C#: How to know whether certain Office 2003 or 2007 application is installed?

How can I check if Microsoft Office is installed using C#?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

凡间太子 2024-08-11 08:03:34

如果您不需要特定的 Office 版本,您可以通过查找 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;
}

If you don't need a specific Office version present, you can check by looking up the App Path to one of the office apps (winword.exe for instance):

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;
}
并安 2024-08-11 08:03:34

您可以在注册表中查找:-

HKEY_LOCAL_MACHINE\Software\Microsoft\Office\nn.n\Word\InstallRoot

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

You could root around in the registry:-

HKEY_LOCAL_MACHINE\Software\Microsoft\Office\nn.n\Word\InstallRoot

The nn.n will be the version installed 11.0 or 12.00

嘴硬脾气大 2024-08-11 08:03:34

尝试创建包含版本的对象,如果抛出错误,则很明显您正在寻找的 MSOffice 尚未安装。

尝试如下所示的操作

try
{
    //try creating the object here.

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

}

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

try to create the object with the version in it and if it throws out error, it is evident that the MSOffice you are looking for is not installed.

Try some thing like the below

try
{
    //try creating the object here.

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

}

Because all the clients would not give you the permission to read the registry

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文