无法在 IIS 10 上的经典 ASP 中调用 .Net 程序集 dll,但在 windows cscript 中调用

An .Net assembly dll can not be called in classic ASP on IIS 10 but on windows cscript

我有一个 .Net 3.5 程序集,可以通过经典 ASP 调用。它在 Windows Server 2012 R2 上运行良好。但是在网站迁移到Windows Server 2016 (IIS 10) 后,它失败了。

Microsoft VBScript runtime  error '800a01ad' 
ActiveX component can't create object 

奇怪的是,在32位的命令提示框里用cscript可以成功创建对象。站点应用程序池启用了32位应用程序,身份似乎有执行dll文件的权限。

我不知道为什么 dll 不能被 classic ASP 调用。谁能给我一个提示?

更新: 它与 KB4338814 更新有关。卸载更新后,它可以工作。安装 KB4346877 也可以解决这个问题。

KB4338814 更新(以及其他一些 .net 框架安全修复程序)导致了此问题。卸载更新后,它可以工作。安装KB4346877也可能解决。

参考:https://support.microsoft.com/help/4338814/windows-10-update-kb4338814