我只是想用我的asp net vb net webform站点填充一个Word dot文件(使用书签),使用Microsoft Interop word。
它在我的IIS Express上调试时工作得很好,但在我的Windows Server 2016 / IIS 10上崩溃了。
Dim oWord As Word.Application
oWord = CreateObject("Word.Application")
服务器崩溃,消息如下:
Cannot create ActiveX component.
(原始错误消息: composant de créer le composant ActiveX。)
我一直在寻找修复方法,但是很多关于这个错误的帖子都是旧的。
我尝试检查服务器注册表,注册表项{000209FF-0000-0000-C000-000000000046}在这里,Microsoft Word应用程序作为数据。
在服务器上,Microsoft Office 2016与Word一起安装。
谢谢你
2020年12月8日编辑:问题与Interop Word的服务器使用有关。为了解决这个问题,我不得不改用OpenXML。
发布于 2019-10-15 10:45:11
所有版本的Microsoft Office都经过设计、测试和配置,可作为最终用户产品在客户端工作站上运行。他们假设有一个交互式桌面和用户配置文件。它们不提供满足设计为无人值守运行的服务器端组件所需的可重入性或安全性级别。
微软目前不建议也不支持从任何无人参与的、非交互的客户端应用程序或组件(包括ASP.NET和NT服务)自动化Microsoft Office应用程序,因为当Office在此环境中运行时,它可能表现出不稳定的行为和/或死锁。
如果只处理打开的XML文档,则可以考虑使用Open XML SDK。有关详细信息,请参阅Welcome to the Open XML SDK 2.5 for Office。
否则,您可以使用为服务器端执行而设计的任何第三方组件(例如,Aspose)。
发布于 2019-10-15 12:01:12
ASP.NET Cannot create ActiveX component
此链接实际上就是我要搜索的内容,但我的DCOM配置中没有任何Microsoft Word应用程序。
发布于 2019-10-16 02:30:52
在大多数情况下(默认情况下),从VS启动的本地进程内web服务器(express)作为x32位web服务器运行。您的实际web服务器很可能作为x64位服务器运行。因此,您需要安装+使用word的x64位版本。(您希望在服务器上安装office x64 )。
如前所述,对于web服务器代码来说,这往往不是一个好主意
https://stackoverflow.com/questions/58391932
复制相似问题