Asp classic 经典ASP错误:Server.CreateObject_失败4000 Http 500(不带DLL的超简单ASP)

Asp classic 经典ASP错误:Server.CreateObject_失败4000 Http 500(不带DLL的超简单ASP),asp-classic,Asp Classic,我将一些旧代码(WS 2008)移动到一个新服务器(WS2016)。新服务器给出HTTP 500错误,并且在C:\inetpub\logs\LogFiles\W3SVCx日志中显示“server.CreateObject\u Failed 4000”,尽管没有(有意)引用DLL。同一服务器上的另一个站点(不同端口)工作正常 我比较了两台服务器和两个站点上的网站和应用程序池设置。我已经验证了一个简单的HTM是有效的。我正在使用IIS(v10)转到“内容视图”并右键单击以浏览ASP http://l

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

我比较了两台服务器和两个站点上的网站和应用程序池设置。我已经验证了一个简单的HTM是有效的。我正在使用IIS(v10)转到“内容视图”并右键单击以浏览ASP

http://localhost:3000/hello.asp
我尝试了一些注册表黑客建议类似的问题

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

hello world
我希望得到的只是这两个词,而是“HTTP500内部服务器错误”

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

更新:

  • 我用hello.asp从零开始创建了一个新网站,效果很好。我慢慢地开始把一个文件一次从失败的站点拉到工作站点。当我把车停在global.asa旁边时,它爆炸了(http 500)。我对这个文件不太熟悉,但研究过它,发现它在启动时会被调用。查看我的内容,我看到了对DLL的引用。我找到它并将其从旧服务器复制到新服务器(在SysWow64文件夹中),然后使用CMD作为Admin使用REGSVR32注册它。注册成功了,但我仍然得到了500(在站点重启、应用程序池回收和iisreset之后)

  • 使用@Lankymart的建议,我能够显示以下错误

Microsoft VBScript运行时错误“800a01ad”
ActiveX组件无法创建对象
/LM/W3SVC/5/ROOT/global.asa,第13行

指向global.asa中的一行代码

set objServiceMgr = server.CreateObject("XMLMGR.FedXReqMgr")
XMLMGR是我注册的DLL(无效)

  • 我在(regsvr32、regedit、syswow64)尝试了所有建议,但错误依然存在。问题描述非常相似,我猜也是一样,但没有一个建议有效——至今为止

    • 这实际上是

      诀窍是使用

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

      对于我的应用程序,我还添加了将应用程序池设置为启用32位应用程序 (.只有这样我才能显示我的简单ASP


      感谢所有人的帮助!

      在做出任何假设之前,建议您并报告浏览器中返回的实际错误。建议您检查一下,因为您可能已在64位注册表配置单元而不是32位注册表配置单元中注册了DLL。去年出现了一个问题,某个特定的Windows升级影响了某些用户第三方和自定义COM组件。这里有一个问题-这可能与您的DLL@Lankymart有关-谢谢。错误ASP 0177…是一个非常好的解决方法。事实上,我在发布更新之前做了所有这些事情。为我辩护,我真的认为在我对全局性的新理解之前没有涉及DLL.asa工作。我会继续挖掘。很高兴这对你有用。