【发布时间】:2012-12-11 14:55:25
【问题描述】:
Windows 7 32 位,IIS 7.5.760016385
我在 Visual Basic 6.0 中创建了一个 DLL,并尝试在经典 ASP 代码中使用它:
set obj = Server.CreateObject("a.b")
我收到以下错误:
006 ASP 0178
Server.CreateObject 访问错误
检查权限时调用 Server.CreateObject 失败。拒绝访问此对象。
err.number = -2147024891
我已尝试创建 iusr_cmpname 用户并在此 ASP 页面的默认网站和虚拟目录中为其授予权限。我已经对 dll 进行了 REGSVR32。
我已转到“打开和关闭 Windows 功能”并选择了 IIS/万维网服务/应用程序开发功能,然后检查了 ASP、ASP.net、ISAPI 扩展和 ISAPI 文件管理器。
我在不同的新闻组中跟踪了许多线索,但我可以解决这个问题。 去年,一年零 1/2 年前,我们尝试过这个,并且遇到了同样的问题。由于我们无法克服这个问题,我们又回到了 Windows NT。我们在 NT 上从来没有遇到过这个问题。
现在我们再次尝试克服这个问题,以便我们可以再次迁移到 Windows 7。似乎很多人都有这个问题,但他们找到并发布的任何解决方案似乎都不是我需要的。
任何帮助将不胜感激。谢谢。
【问题讨论】:
-
您从 IIS 收到的错误消息是什么?
-
Err.description 为“006~ASP 0178~Server.CreateObject 访问错误~在检查权限时调用 Server.CreateObject 失败。访问被拒绝。” err.number = -2147024891
-
您是否尝试过让 apppool 用户/iusr 成为本地管理员?只是为了测试...或使用另一个 Windows 用户作为 appool 和 Web 应用程序等待...您是否尝试添加 Web 应用程序而不是虚拟目录?
-
感谢您的建议。授予 iusr_xxx 和“网络服务”的管理员权限并没有帮助。我不知道如何为应用程序池设置另一个用户,我在 IIS 管理员的应用程序池中看不到安全选项卡。我已经尝试过,正如您建议的将虚拟目录更改为应用程序,但页面根本没有打开;它只是挂起。所以我把它改回了一个虚拟目录。感谢您的想法。
-
在 IIS7 中 iusr 是不可见的,但您仍然可以添加权限。在您选择用户或组的请求者中,只需键入:IIS APPPOOL\{应用程序池名称},然后单击“检查名称”。不能解决您的问题,但它可能会让您更接近解决方案...
标签: windows-7 com asp-classic createobject