我们在Classic ASP中构建了几个Web应用程序,这些应用程序当前在Windows Server 2003 32位和IIS 6上运行。
我们正在尝试将其迁移到运行带有IIS 7的Windows Server 2008 64位的新服务器。但我们发现很难在64位操作系统中使用经典ASP工作在IIS 7上。
我得到了运行以下代码的标签:
<%
Response.Write "This is the new www5"
Response.End
%>
在Response.End上给我们一个错误
This is the new www5 error '8002801d'
/test.asp, line 4
我启用了32位应用程序,也注册了几次运行regsvr32.exe的asp.dll,但到目前为止没有运气。
尝试重新启动IIS,在每次配置更改后回收应用程序池,但没有。
提前致谢。
费德里科
答案 0 :(得分:2)
最后,结果证明是注册管理机构的许可问题。
我google了一下,发现8002801d错误意味着图书馆未注册或未正确注册。
我使用procmon来监控对注册表的访问,发现HKCR \ TypeLib下的一个密钥被拒绝访问。
然后我尝试运行regedt32将IIS USR的权限添加到该密钥,但也被拒绝访问。
所以我下载了PSTOOLS并运行以下命令:psexec -s -i regedt32
打开regedt32而没有任何拒绝访问权限弹出窗口并将IIS USR添加到该密钥。
执行此操作后,经典ASP正在使用IIS 7 Windows Server 2008 64位。
干杯, 费德里科
答案 1 :(得分:0)
逐步完成:
转到控制面板 Windows功能开/关 勾选此功能:
3.a)Internet信息服务&gt; Web管理工具&gt; IIS6管理兼容性
3.b)互联网信息服务&gt;网络管理工具&gt; IIS管理控制台
3.c)互联网信息服务&gt;全球网络服务&gt;应用程序开发特征&GT; ASP
答案 2 :(得分:0)
要解决此问题,您应该在IIS设置中将应用程序池更改为“classic asp”,并将应用程序64位更改为32位。