无法从ASP.NET MVC应用程序实例化COM对象

时间:2012-05-06 15:45:17

标签: c# asp.net-mvc-3 com

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

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

但它抛出以下ComException:

  

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

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

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

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

您有什么建议来帮助解决这个问题?

2 个答案:

答案 0 :(得分:0)

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

调用dcomcnfg.exe并检查设置(抱歉,只有德语服务器,但应该可以工作): enter image description here

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

答案 1 :(得分:0)

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