我正在使用一些互操作 dll 将数据导出到 Word 文件。早些时候我在Windows 2008 Server 中开发了应用程序,当时我可以将数据导出到Word 文件。但最近我已将我的电脑升级到 Windows 7。它在我的本地主机中运行良好。
当我在 IIS 中部署应用程序时,出现此错误:
由于以下错误,检索具有 CLSID {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80070005。
我正在使用一些互操作 dll 将数据导出到 Word 文件。早些时候我在Windows 2008 Server 中开发了应用程序,当时我可以将数据导出到Word 文件。但最近我已将我的电脑升级到 Windows 7。它在我的本地主机中运行良好。
当我在 IIS 中部署应用程序时,出现此错误:
由于以下错误,检索具有 CLSID {00024500-0000-0000-C000-000000000046} 的组件的 COM 类工厂失败:80070005。
我在 Windows Server 2003 中遇到了互操作库的问题。我试图通过 .NET 应用程序创建一个 excel 文件。它在本地工作,但在服务器上工作。这个链接解释了如何解决这个问题。首先,您必须在服务器上安装 MOExcel。在 DCOM 中配置 Microsoft Excel 应用程序。
http://blog.crowe.co.nz/archive/2006/03/02/589.aspx
它救了我!!
修复 DCOM Config 中 Microsoft Excel 应用程序的安全设置:
控制面板 > 管理工具 > 组件服务 > 计算机 > 我的电脑 > DCOM 配置 > Microsoft Excel 应用程序
右键单击以获取属性对话框。转到安全选项卡并相应地自定义权限。
一个。我首先从命令提示符打开 DCOMCNFG,打开组件服务,展开计算机/我的电脑/DCOM 配置。然后我选择了 Microsoft Excel 应用程序,并在结果对话框中选择了安全选项卡。在安全选项卡下,我将启动和激活权限更改为自定义、访问权限自定义和配置权限自定义。在这三个中我选择了 ASPNET 帐户。湾。然后我在 Windows 资源管理器中选择新文件夹,打开属性并在 WebSharing 选项卡下选择共享此文件夹。
bin 文件夹中的 .DLL 只是一个 COM 互操作程序集。实际的 COM 组件也必须安装在 Web 服务器上,因此您应该检查一下。
您只能通过手动创建的帐户访问 Office 组件,该帐户有权访问 Office 二进制文件。例如您自己的帐户。