IIS7 上的 ASP Classic 无法创建 COM 对象
Posted
技术标签:
【中文标题】IIS7 上的 ASP Classic 无法创建 COM 对象【英文标题】:ASP Classic on IIS7 Cannot create COM Object 【发布时间】:2010-11-19 08:43:18 【问题描述】:尝试在 asp 中创建 com 对象时出现权限被拒绝错误。 com 对象是一个已注册的 VB6 dll。 Procmon 不显示任何权限错误。我已将包含 dll 的文件夹的权限授予 AppPool 用户和身份验证用户 (IUSR)。我注意到有一些人遇到这个问题没有明确的解决方案。请帮忙!!
【问题讨论】:
哪个操作系统,32 位还是 64 位? 【参考方案1】:首先您应该检查的是您分配给文件夹的权限是否已级联到 dll。我见过一些这样的情况,其中 dll 有自己独立的 ACL,而不是从其文件夹中继承任何内容。
【讨论】:
我已经检查并且 dll 具有所需的权限。奇怪的是,ProcMon 没有报告任何权限错误。 @yuben:尝试在 VB6 中创建一个什么都不做的类,看看是否可以实例化。我想知道 COM 对象的构造(即在 VB 代码中)是否由于权限而失败。【参考方案2】:感谢您的回复。我现在有这个工作。它与从 VB6 dll 调用的另一个 COM dll 有关。但是,我曾经能够从 ASP/IIS6 进入 VB6,但现在再次失败并出现权限错误。我将为此发布另一个问题。谢谢。
【讨论】:
【参考方案3】:在 procmon 中,你能看到成功读取 HKLM\Software\Classes\CLSIDYOUR_COMPONENT_CLASS_ID 吗?
也许您在与您的组件关联的注册表项中的权限存在问题。
有关所涉及的注册表项列表,请参阅msdn docs。
最好的
【讨论】:
以上是关于IIS7 上的 ASP Classic 无法创建 COM 对象的主要内容,如果未能解决你的问题,请参考以下文章
IIS7web服务器调试ASP.net程序遇到的一些故障的解决办法