Windows 更新后经典 ASP AspXml createobject 失败 (20212R2 - IIS8)

问题描述

今天,我们的 HTTP 服务器已更新为 KB5001382、KB5001393 和 KB5001403。 这是安装了 IIS8 的 Windows Server 2012R2

但是在这些更新之后,我的一个经典 asp 页面开始出现错误

set xml0 = Server.CreateObject("AspXml.AspXml")
set xml = xml0.HttpGet(XML_File)
xml.FirstChild2() (error on this line)

错误信息: Microsoft VBScript 运行时错误“800a01a8” 所需对象:'xml'

我测试了 XML_file,它在本地和服务器(浏览器)上加载得很好。 我的托管服务提供商说了一些关于区分大小写的问题,但我无法想象他们的意思...

解决方法

请确保 IIS 以及与所涉及的 DLL 相关的注册表/文件/文件夹的权限。

  1. 在注册表中搜索对象名称。在这种情况下“AspXml.AspXml”

  2. 对于所有注册表项,您应该拥有父注册表文件夹的所有权,因此请授予对 IIS 用户帐户的读取权限。

  3. 确保文件/文件夹对 IIS 用户帐户具有读取/执行权限。

  4. 在命令行中注册 DLL 以进行良好测量。

  5. 重新启动,因为重新启动 IIS 似乎没有这样做。