我有一个加载32位COM组件的Web服务。我在本地计算机上使用IIS服务器运行此Web服务。
当我从Visual Studio加载测试页时,它成功,另一方面,当使用IIS加载它时,它显示以下错误
Retrieving the COM class factory for component XXX failed due to the following error: 80070005.
我尝试将webservice的平台从任何CPU更改为x86,但这有助于帮助。我在Windows Server 2008 R2 64位上运行它。
答案 0 :(得分:1)
我必须从应用程序池设置中启用32位应用程序。
答案 1 :(得分:0)
检查该COM的权限。可能是当您从VS运行测试时,您正在以(管理员)身份运行,而运行网站应用程序池的用户则完全不同。该用户需要添加“本地”的读取+执行(或激活,无论如何)权限。
也许也会看到:Retrieving the COM class factory for component error while generating word document
答案 2 :(得分:0)
Sarat,这不可能是正确的。 “应用程序池默认值”下的“启用32位应用程序”不适用于运行32位应用程序或解决您的问题。它只能在32位进程下强制运行32位应用程序,在这种情况下不是必需的。大多数32位应用程序在64位进程上运行良好。这就是您可以在Windows 7 64位计算机上运行MS Office 2010(仍然是32位应用程序)的原因。
在将近一年的时间内回答原始问题后,您必须尝试其他设置。