ASP.NET/VB.NET使用Microsoft互操作Word-CreateObject(“Word.Application”)崩溃
我只是想用Microsoft Interop word用我的asp net vb net Web表单站点填充word点文件(使用书签) 它在我的IIS Express上的调试中运行良好,但在我的Windows Server 2016/IIS 10上崩溃ASP.NET/VB.NET使用Microsoft互操作Word-CreateObject(“Word.Application”)崩溃,asp.net,vb.net,ms-word,office-interop,word-interop,Asp.net,Vb.net,Ms Word,Office Interop,Word Interop,我只是想用Microsoft Interop word用我的asp net vb net Web表单站点填充word点文件(使用书签) 它在我的IIS Express上的调试中运行良好,但在我的Windows Server 2016/IIS 10上崩溃 Dim oWord As Word.Application oWord = CreateObject("Word.Application") 服务器崩溃,消息如下: 无法创建ActiveX组件。(原始错误消息:无法使用Act
Dim oWord As Word.Application
oWord = CreateObject("Word.Application")
服务器崩溃,消息如下:
无法创建ActiveX组件。
(原始错误消息:无法使用ActiveX组件。)
我正在寻找修复方法,但是很多关于这个错误的帖子都是旧的
我试图检查服务器注册表,注册表项{000209FF-0000-0000-C000-0000000000 46}在这里,Microsoft Word应用程序作为数据
在服务器上,Microsoft Office 2016与Word一起安装
谢谢
编辑:2020年8月12日:问题是关于Interop Word的服务器使用。
为了解决这个问题,我不得不改用OpenXML
所有版本的Microsoft Office都经过设计、测试和配置,可以作为最终用户产品在客户端工作站上运行。他们假设一个交互式桌面和用户配置文件。它们不提供满足设计为无人值守运行的服务器端组件需要的可重入性或安全性级别
Microsoft目前不建议也不支持从任何无人参与、非交互式客户端应用程序或组件(包括ASP、ASP.NET、DCOM和NT服务)自动化Microsoft Office应用程序,因为在该环境中运行Office时,Office可能会表现出不稳定的行为和/或死锁
如果您只处理开放式XML文档,则可以考虑使用OpenXML XSDK。有关更多信息,请参阅
否则,您可以使用为服务器端执行而设计的任何第三方组件(例如,Aspose)。
实际上,我正在搜索此链接,但我的DCOM配置中没有任何Microsoft Word应用程序。在大多数情况下(默认情况下),从VS启动的本地进程内web服务器(express)作为x32位web服务器运行。您的实际web服务器很可能作为x64位服务器运行。因此,您需要安装并使用64位版本的word。(您希望在服务器上安装office x64)
如前所述,这对于web服务器代码来说往往是个坏主意请阅读有关此问题的帖子。似乎我需要在DCOM配置中激活某些内容,但我真的不知道要激活什么,也不知道如何激活。“此环境中的所有当前版本[…]都可能重复。”-如果引用某个地方的文本,请将其格式化为引用并引用源代码。尝试以32位模式打开DCOM Conf,也无法使用Word应用程序