【问题标题】:Word 2016 automation generates "error: 80080005 Server execution failed"Word 2016 自动化生成“错误:80080005 服务器执行失败”
【发布时间】:2016-03-07 08:05:06
【问题描述】:

我在 Windows 7(终极版)开发人员机器上安装了 Office 2016 预览版以及 VS 2010。我有以下简单的 C# WinForms 应用程序,它尝试通过自动化创建 Word 文档:

using Word = Microsoft.Office.Interop.Word;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Word.Application word = new Word.Application(); // <- Causes exception
            ...
        }
}

应用程序产生以下错误:

附加信息:检索组件的 COM 类工厂 由于 CLSID {000209FF-0000-0000-C000-000000000046} 失败 以下错误:80080005 服务器执行失败(异常来自 HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE))。

上述错误的大多数搜索结果都涉及人们试图在实际服务器上运行(早期)版本的 Office 程序的情况。

我错过了什么吗?

PS:Office 2016 本身就是一个奇怪的野兽,它在添加/删除程序中没有条目,它的deployment tool只有选择从下载中排除的应用程序的选项,没有选项用于修复现有安装。

【问题讨论】:

  • 如果您之前在同一个 Windows 中安装了任何其他 Office,则很有可能它没有完全卸载或损坏。如果您有任何以前的版本作为第一步,我建议您卸载任何以前的版本。如果问题仍然存在,我建议你打开注册表编辑器,进入 HKLM\Typelib 并搜索“Interop”,每个文件夹应该只有一个文件夹,因为每个文件夹代表一个版本;例如:Word 8.5 > Office 2010、8.6 > 2013
  • @cFrozenDeath 谢谢。我假设您的意思是 HKEY_CLASSES_ROOT,而不是 HKLM?
  • 哎呀,是的,我就是这个意思
  • @cFrozenDeath 在出现上述错误之前,我收到“无法转换 COM 对象”错误。正如您所提到的,我通过删除以“00020905-...”开头的 Word 键下多余的“8.6”条目来解决这个问题(这些都以 46 结尾!)。这解决了这个问题(我也提到了这个答案:stackoverflow.com/a/12962795/360840),但紧接着,我开始收到上述(服务器)错误。我猜 Office 2016 认为它在服务器上运行。
  • 我的 PC 上安装了 Windows 10、VS2015 和 Office 2016,但从未安装过任何其他 Office。让我安装 Office 工具,看看会发生什么

标签: c# ms-word ms-office office-interop


【解决方案1】:

我试图通过创建一个 WinForms 项目并以 .NET 4.0 为目标,尽可能地模仿您的系统。我能够毫无例外地创建一个 Word.Application 对象。
我很确定您收到错误是由于 Windows 注册表损坏,可能是由 Office 本身损坏。

在放弃之前,您还可以做 3 件事:

  1. 转到here 并按照步骤使用scanreg /fix 清理注册表
  2. 卸载所有 Office 产品,打开注册表并删除与 Office 相关的每个键,然后再次安装 2016(确保先备份所有数据)
  3. 重新安装 Windows。

我曾在应用程序支持职位工作,该职位通过插件与 Excel 和 Word 高度集成,我必须研究并向开发团队(另一个供应商)解释为什么会发生这种情况以及在某些情况下如何解决。
在我找到上面的第 1 步以及我在对您的问题的第一条评论中告诉您的步骤之前,每个案例都使用第 3 步解决了

【讨论】:

  • 非常感谢您的努力,非常感谢您的指导。
  • 很遗憾,我的 Windows 7 系统上没有 scanreg,我找不到可靠的下载站点! :(
  • 试试this。不客气,这些问题很糟糕
猜你喜欢
  • 2020-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-30
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多