Classic ASP error: Server.CreateObject_Failed 4000 Http 500 (ultra simple ASP with no DLLs)

Classic ASP error: Server.CreateObject_Failed 4000 Http 500 (ultra simple ASP with no DLLs)

我将一些旧代码 (WS 2008) 移到了新服务器 (WS2016)。新服务器给出 HTTP 500 错误,并且在 C:\inetpub\logs\LogFiles\W3SVCx 日志中显示 "Server.CreateObject_Failed 4000",尽管没有(有意)引用任何 DLL。同一服务器(不同端口)上的另一个站点工作正常。

我比较了两个服务器和两个站点上的网站和应用程序池设置。我已经验证了一个简单的 HTM 可以工作。我正在使用 IIS (v10) 进行测试,转到 'Content View' 并右键单击浏览 ASP.

http://localhost:3000/hello.asp

我按照类似 SO 问题的建议尝试了一些注册表破解方法。

我的代码(hello.asp)有两个字

hello world

我希望只返回这两个词,但却得到 "HTTP 500 Internal Server Error"。

如有任何建议,我们将不胜感激。

更新:

Microsoft VBScript runtime error '800a01ad'
ActiveX component can't create object
/LM/W3SVC/5/ROOT/global.asa, line 13

它指向 global.asa 中的一行代码

set objServiceMgr = server.CreateObject("XMLMGR.FedXReqMgr")

XMLMGR 是我注册的 DLL(无用)。

这实际上是

的间接复制

诀窍是使用提示找到真正的错误 Detailed 500 error message, ASP + IIS 7.5

该过程还告诉我,即使您指向的 ASP 是一个简单的 helloworld.asp 没有代码。由于 global.asa(在我的例子中)引用了一个 DLL,因此必须先处理(正确注册)该 DLL,然后才能调用同一文件夹中的任何其他 ASP。

对于我的应用程序,我还添加以将应用程序池设置为启用 32 位应用程序 (Classic ASP and COM DLL Does not work in Server 2008 R2 (Microsoft VBScript runtime error '800a01ad' ActiveX component can't create object )。只有这样才能显示我简单的ASP。

感谢大家的帮助!