ASP创建对象时没有这样的接口支持错误

时间:2013-03-07 13:00:00

标签: asp.net vb.net iis dll ocx

我有一个具有第三方ocx控件的Windows窗体应用程序。以下命令用于在运行时创建对象。

myObject = myApplication.CreateObject("ML.MFinder", True)

这是正常工作,progID也是正确的。问题是在asp项目中做同样的事情,我得到以下错误:

System.Runtime.InteropServices.COMException: No such interface supported
     

在ML.MApplicationClass.CreateObject(String ProgID,Boolean   分配)

奇怪,因为其他ocx对象也可以在asp上正常工作     项目。我使用IIS 5.1,Windows XP Pro SP3和框架3.5。     我也手动注册了ocx。

2 个答案:

答案 0 :(得分:2)

在IIS下,您没有相同的规则来访问外部文件或dll。我认为使用OCX文件,IIS可能更具限制性。

我不认为问题是参考或类似的东西。正如你所说,你已经注册了OCX,但是这个OCX还有一些依赖吗?他们也需要正确注册。

答案 1 :(得分:2)

此ocx控件是否需要对文件系统进行任何特定的读写访问?如果是,那么您需要在文件系统级别上授予权限:IUSR_XXXXX = READ + EXECUTE。

您还应该使用Dependency Walker工具检查是否缺少任何依赖项。

您是否在异常中获得任何类ID?如果是,则检查注册表中是否存在该classid。