Asp.net

ASP 創建對象時沒有此類介面支持錯誤

  • March 11, 2013

我有一個具有第三方 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。

這個 ocx 控制項是否需要對文件系統進行任何特定的讀寫訪問?如果是這樣,那麼您需要在文件系統級別授予權限:IUSR_XXXXX = READ + EXECUTE。

您還應該使用 Dependency Walker 工具檢查是否缺少任何依賴項。

您是否在異常中獲得任何類 ID?如果是這樣,請檢查該 classid 是否存在於系統資料庫中。

在 IIS 下,您沒有相同的規則來訪問外部文件或 dll。我認為使用 OCX 文件,IIS 可能會更加嚴格。

我不認為問題是參考或類似的東西。如您所說,您已經註冊了OCX,但是這個OCX是否也有一些依賴?他們也需要正確註冊。

引用自:https://stackoverflow.com/questions/15271899