迁移到W7后,VB脚本失败

时间:2016-08-09 20:12:17

标签: vbscript asp-classic windows-xp windows-7-x64

我正在将旧的32位XP服务器上的经典ASP网站迁移到w7 64位。该应用程序在当前托管的地方工作正常。

迁移后,我在global.asa文件中收到错误:

Sub Session_OnStart

    'works fine
    Set Session("GaoAppEnv")=Server.CreateObject("GaoCommon.AppEnv.1")
    'error
    Set Session("GaoSession")=Session("GaoAppEnv").CreateSession("file.tps")    
    ... 

错误:

Gao Subsystem error '80020009'

Unknown Exception

我尝试在问题区域周围的vb脚本中添加一些错误捕获代码,但是当我尝试执行WScript.Echo时,我又遇到了另一个错误"需要对象:' WScript'& #34;

我已经通过DLL添加了针对GaoCommon.AppEnv.1的注册表设置,但file.tps似乎只是注册表中文件本身的路径,看起来是XML而不是我&# 39;在网上看过tps文件类型。

看起来我在迁移过程中遗漏了什么,有什么想法吗?

更新 - 我已经完成/检查过的事情:

  • 应用程序池为32位
  • 注册表已使用file.tps和GaoCommon.AppEnv.1
  • 进行了更新

1 个答案:

答案 0 :(得分:2)

首先,您需要确保您的ASP在IIS服务器上的32位应用程序池中运行,以实现向后兼容。

  • 启动Internet信息服务(IIS)管理器。
  • 在“连接”窗格中,单击“应用程序池”。
  • 突出显示应用程序的应用程序池,然后单击“操作”窗格中的“高级设置...”。
  • 在“高级设置”对话框中,为“启用32位应用程序”指定True。
  • 单击“确定”关闭“高级设置”对话框。

WScript.Echo仅对WSH下的VBScript有效(即通过wscript.execscript.exe在服务器上本地执行的脚本)。要在ASP中进行调试,您可以使用Response.Write代替。