2015-12-02 567 views
1

我与Windows 2010一起在Windows 7(旗舰版)开发人员计算机上安装了Office 2016预览版。我有以下简单的C#WinForms应用程序,它尝试创建WordWord 2016自动生成“错误:80080005服务器执行失败”

using Word = Microsoft.Office.Interop.Word; 

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

应用程序生成以下错误:有问题的错误

Additional information: Retrieving the COM class factory for component with CLSID {000209FF-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

大多数搜索结果上面涉及到那里的人都试图在运行Office程序的(早期)版本的情况下,通过自动化的文档实际系列VERS。

我错过了什么吗?

PS:办公室2016本身,它在添加没有进入一个奇怪的野兽/删除程序,其deployment tool只有选择应用程序从下载排除选项,用于修复现有安装的选项。

+0

如果您以前在同一个Windows中安装过任何其他Office,很可能它没有完全卸载或损坏。如果您有任何第一步,我建议您卸载以前的任何版本。如果问题仍然存在,我建议您打开注册表编辑器,进入HKLM \ Typelib并搜索“Interop”,每个文件夹应该只有一个文件夹,因为每个文件夹都代表一个版本;例如:Word 8.5> Office 2010,8.6> 2013 –

+0

@cFrozenDeath谢谢。我假设你的意思是HKEY_CLASSES_ROOT,而不是HKLM? – Sabuncu

+0

Ooops,是的,这就是我的意思 –

回答

1

我试着通过创建一个WinForms项目并以.NET 4.0为目标,尽可能地模仿您的系统。我可以创建一个没有任何异常的Word.Application对象。
我敢肯定,你正在接受由于Windows注册表损坏导致的错误,可能会被Office本身破坏。

有3个东西,你可以放弃之前做:

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

我曾在该应用程序是非常集成Excel和Word应用支撑位置,通过插件,我不得不研究和解释给开发团队(另一家供应商)为什么会这样,以及如何它在某些情况下可以解决。
直到我找到上面的第1步以及我在第一次对您的问题发表评论时告诉您的步骤,每一个案例都使用第3步解决。

+0

非常感谢你的努力,也非常感谢你的指导。 – Sabuncu

+0

不幸的是,scanreg不在我的Windows 7系统上,我找不到可靠的网站下载! :( – Sabuncu

+0

试试[这](http://www.tomshardware.com/forum/7245-63-check-windows-registry-problems)。不用客气,这些问题吸吮 –

相关问题