1

正如标题所说,我想从这样的 ASP.NET MVC 应用程序中实例化一个 COM 对象:

dynamic obj = Activator.CreateInstance(Type.GetTypeFromProgID(progID));

但它会引发以下 ComException:

由于以下错误,检索具有 CLSID {16542E4F-4594-4B97-922D-BE9C478F93BB} 的组件的 COM 类工厂失败:来自 HRESULT 的 800aea5f 异常:0x800AEA5F。

相同的代码适用于具有以下构建配置的 Winforms 应用程序:Platform: x86Platform target: x86.

我为 mvc 应用程序和我使用 COM 对象的程序集设置了与 Winforms 应用程序相同的构建配置。

我正在使用启用 32 位应用程序 True 的 Windows 7、IIS 7.5、ASP.NET v4.0 应用程序池,并且该网站在具有管理员权限的用户下运行。

你有什么建议可以帮助解决这个问题?

4

2 回答 2

0

@david.s 我不知道如何添加屏幕截图作为评论,所以我将其设置为答案。由于您已经设置了所有 32 位内容并且无法调用 DLL,因此可能是权限问题。

调用 dcomcnfg.exe 并检查设置(对不起,只有德国服务器,但应该可以): 在此处输入图像描述

设置更改后,您必须重置 IIS。

于 2012-05-06T16:31:58.687 回答
0

将应用程序池的默认用户设置为具有管理员权限的用户

于 2012-05-08T18:18:47.237 回答