在Visual Studio中使iis / classic asp可以看到COM对象

时间:2011-10-27 15:11:42

标签: visual-studio-2010 com asp-classic

在这个问题中,我解释说我试图用visual studio 2010创建一个com对象

Struggling creating a COM object with Visual Studio 2010 which is visible from VBScript run from the command line

与为com对象使用32位脚本解释器相关的答案解决了从控制台脚本访问对象的问题。

我现在已经尝试继续前进并改进了脚本并重新构建它,现在我正在尝试在Classic ASP环境中进行测试。这是使用IIS7设置的。

我再次遇到错误“ActiveX组件无法创建对象”错误消息的砖墙。 (我仍然可以使用wow64脚本解释器使用我的脚本调用它,尽管该对象已经移动并且具有更复杂的接口等,因此在尝试使用该对象时它很快就会崩溃。)

我已经尝试了这里的建议

Visual Studio 2010 64-bit COM Interop Issue

并阅读有关注册表中应包含内容的文章。条目都在那里,但我仍然得到错误。

任何想法如何继续

更新

在IIS管理器中选择运行我正在访问的特定站点的应用程序池,在“高级设置”下,有一个“启用32位应用程序”。这将错误消息更改为“006〜ASP 0177~Server.CreateObject Failed~80070002”。

然后我将整个Visual Studio项目(即网络驱动器中的com对象)移动到本地C:驱动器,并且错误消息变为“在检查权限时对Server.CreateObject的调用失败。此对象拒绝访问。 “

我试图以两种方式解决权限问题。

  • 我更改了构建的DLL和tlb文件所在目录的安全性,以允许用户运行应用程序池(使用ApplicationPoolIdentity)读取和执行权限(这没有任何效果)
  • 我尝试将应用程序池运行的用户更改为我自己(管理员组中的用户),以便它可以访问所有内容。在这种情况下,我会收到503错误,应用程序池会停止,尽管我在日志中找不到任何内容,但是尽管已启用了失败跟踪。

所以我仍然没有答案。

0 个答案:

没有答案