9

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

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

这工作正常,progID 也是正确的。问题是在 asp 项目中执行相同操作时出现以下错误:

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

在 ML.MApplicationClass.CreateObject(字符串 ProgID,布尔分配)

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

4

2 回答 2

2

在 IIS 下,您没有相同的规则来访问外部文件或 dll。我认为使用 OCX 文件,IIS 可能会更加严格。

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

于 2013-03-11T14:18:14.017 回答
2

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

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

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

于 2013-03-11T14:59:49.853 回答