检索组件的 COM 类工厂时出错

发布于 2025-01-01 02:25:34 字数 335 浏览 0 评论 0原文

我有一个加载 32 位 COM 组件的 Web 服务。我正在本地计算机上使用 IIS 服务器运行此 Web 服务。

当我从 Visual Studio 加载测试页面时,它成功了,另一方面,当使用 IIS 加载它时,它显示以下错误:

Retrieving the COM class factory for component XXX failed due to the following error: 80070005.

我尝试将 Web 服务的平台从任何 CPU 更改为 x86,但这没有帮助。我在 Windows Server 2008 R2 - 64 位上运行它。

I have a web service which loads a 32-bit COM component. I am running this web service with IIS server in my local machine.

When I load the the test page from Visual Studio it succeeds, on the other hand, while loading it using IIS, it display following error

Retrieving the COM class factory for component XXX failed due to the following error: 80070005.

I tried changing the webservice's platform to x86 from Any CPU but that dint help. I am running this on Windows Server 2008 R2 - 64 bit.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

国粹 2025-01-08 02:25:34

我必须从应用程序池设置中启用 32 位应用程序。

I had to enable the 32-bit Applications from the Application Pools settings.

你如我软肋 2025-01-08 02:25:34

检查该 COM 上的权限。当您从 VS 运行测试时,您可能以管理员身份运行,而运行网站应用程序池的用户则完全不同。需要为该用户添加“本地”的读取+执行(或激活等)权限。

也许还可以看到这个: 检索 COM生成Word文档时出现组件错误的类工厂

Check permissions on that COM. It may be that when you're running tests from VS, you're running as you (admin), while the user running the website's app-pool is totally different. That user needs to be added read+execute (or, activate, whatever) permissions for "local".

Maybe also see this: Retrieving the COM class factory for component error while generating word document

初见你 2025-01-08 02:25:34

萨拉特,这不对。应用程序池默认值下的“启用 32 位应用程序”并非用于运行 32 位应用程序或解决您的问题。它是为了强制仅在 32 位进程下运行 32 位应用程序,在本例中这是不必要的。大多数 32 位应用程序可以在 64 位进程上正常运行。这就是为什么您可以在 Windows 7 64 位计算机上运行 MS Office 2010(它仍然是 32 位应用程序)。

在回答原始问题近一整年后,您必须尝试其他设置并使其正确。

Sarat, this cannot be right. The "Enable 32-bit Applications" under Application Pools Defaults is not for running 32-bit applications or to solve your problem. It is there to enforce running 32-bit applications UNDER 32-bit processes only, which is not necessary in this case. Most 32-bit applications run fine on 64-bit processes. That's why you can run MS Office 2010 (which is still a 32-bit application) on Windows 7 64-bit machines.

You must have other settings tried and true after nearly a full year answering the original problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文