Memory VBScript在创建者更新后消耗内存(Win 10,64位)

Memory VBScript在创建者更新后消耗内存(Win 10,64位),memory,vbscript,com,windows-10,Memory,Vbscript,Com,Windows 10,由于最新的Windows更新(creators update,winver提供1703,build 15063.483),我们在VBScript访问COM对象时遇到问题。它似乎只是在消耗内存,直到内存超过 我们已经检查了我们的源代码,并使其成为一个简单的vbs文件,该文件使用了FileSystemObject 看看这个简单的脚本文件: Dim fso,文件夹 设置fso=CreateObject(“Scripting.FileSystemObject”) 如果不是,那么fso什么都不是 做 设置

由于最新的Windows更新(creators update,
winver
提供1703,build 15063.483),我们在VBScript访问COM对象时遇到问题。它似乎只是在消耗内存,直到内存超过

我们已经检查了我们的源代码,并使其成为一个简单的vbs文件,该文件使用了
FileSystemObject

看看这个简单的脚本文件:

Dim fso,文件夹
设置fso=CreateObject(“Scripting.FileSystemObject”)
如果不是,那么fso什么都不是
做
设置文件夹=无
Set folder=fso.GetFolder(“C:\Users”)
环
设置文件夹=无
设置fso=无
如果结束
它只是挂起在那个循环中,但如果看一下任务管理器,我会看到进程
wscript.exe
正在消耗内存

这种情况仅在安装了creators update的Windows10系统上发生


有什么不对劲的提示吗?可能是VBScript引擎中的某个错误?

这在通过Windows Insider程序-Fast Ring获得的1703版(OS Build 16241.1001)中已修复。我认为这最终将在一个普遍可用的版本中推出。

最后,微软在Windows 10的一般版本中有了一个解决方案。
(操作系统版本1709 Build 16299.15)现在可用,并修复了此问题。

否,它与睡眠语句无关。在创建者更新脚本之前,“works”,这意味着它在运行时不会消耗更多内存。是的,我敢肯定。可以在两个系统上并行测试脚本,一个有更新,一个没有(当然这只是为了测试,与我们的实际应用程序没有太多关系,它有相同的问题),它不断增长,直到进程因内存不足而崩溃。它不特定于文件系统对象或get folder方法。看起来任何来自vbs的com方法调用都会导致此问题。creators更新似乎有问题。microsoft论坛上已报告了一些其他副作用(如损坏的cmd)。很多次更新都解决了此问题。请查看是否有新更新,或重新安装此更新。这是一个干净的,新安装的windows系统,禁用了defender和firewall,未安装其他防病毒软件。。。这与fso无关。其他对象也有这个bug,经过测试的vbscript和javascript都显示了所描述的行为,因此它不是vbscript引擎。要排除主机,我已将
[w|c]script.exe
脚本更改为
.hta
文件,并且暴露的行为不会在vbs或js中发生。这“似乎”是
[w|c]script.exe
代码中的一个问题。除了一个完整的Win10映像之外,我找不到任何一个修补程序可以这样做。我试过了,哇,看起来真的很管用。非常感谢你。你能告诉我你从哪里得到这些信息,或者我自己在哪里能找到类似的信息吗?你知道这一版本是通过Windows Update还是作为一个补丁发布的吗?我和你有一个类似的问题,我想我应该试试最新的Windows 10版本,看看是否修复了。从那以后,我搜索了微软知识库,发现了。我将回滚到构建15063并尝试一下。它对jscript和vbscript dll文件进行了更改。我让你知道结果。遗憾的是,KB4032188,最新的Windows 10创建者累积更新,并没有解决这个问题。我还注意到,Windows Insider预览版是一个有到期日的评估许可证,因此不是真正可行的解决方案:(