Windows 从IE8中的本地VBscript获取Scripting.FileSystemBect错误

Windows 从IE8中的本地VBscript获取Scripting.FileSystemBect错误,windows,windows-7,internet-explorer-8,vbscript,Windows,Windows 7,Internet Explorer 8,Vbscript,我目前正在开发警车上的笔记本电脑。他们运行一个名为IMobile的应用程序,这是我们CAD系统的一个扩展,允许他们进行车辆查找,在通话中获取更多信息,等等 IMobile应用程序基本上是一个IE覆盖,它使用本地笔记本电脑上的htm文件。我们添加了一些简单的VBScript来执行各种任务。这些任务所需的一些常用函数位于名为policyFunctions.vbs的VBscript中,该脚本与所有其他脚本位于同一目录中。这种方法在IE和Windows的早期版本中运行良好,但是我们在使用IE8的Wind

我目前正在开发警车上的笔记本电脑。他们运行一个名为IMobile的应用程序,这是我们CAD系统的一个扩展,允许他们进行车辆查找,在通话中获取更多信息,等等

IMobile应用程序基本上是一个IE覆盖,它使用本地笔记本电脑上的htm文件。我们添加了一些简单的VBScript来执行各种任务。这些任务所需的一些常用函数位于名为policyFunctions.vbs的VBscript中,该脚本与所有其他脚本位于同一目录中。这种方法在IE和Windows的早期版本中运行良好,但是我们在使用IE8的Windows 7中遇到脚本错误,特别是“ActiveX组件无法创建对象:”scripting.FileSystemObject“,并且它引用了上面提到的脚本函数

如果我将IE的设置设置为允许它运行未标记为安全的ActiveX控件,脚本运行正常,但我不想打开一个大的安全漏洞。我尝试将localhost和目录添加到受信任的站点列表中,但没有效果。我已经尝试重新注册了另一篇文章中提到的SCRRUN.dll以及wscript-regserver。我已经改变了IE的设置,允许本地活动内容,但没有成功


有人知道我如何允许这个脚本运行,而不打开一个大的安全漏洞,或者让它困扰最终用户,因为他的IE设置将导致apocolypse吗?

编写ActiveX,实现IObejctSafety并在其中封装FSO方法。注意,这是关于ActiveX脚本安全性的谎言,但它比开放给所有不安全的ActiveX要好。

很长,但解释了IE如何使用安全区域来做出信任决策

本案中的利益行为是:

1201 Initialize and script ActiveX controls not marked as safe(URLACTION_ACTIVEX_OVERRIDE_OBJECT_SAFETY)
本地计算机区域中此URLAction的默认设置为提示符,在所有其他区域中为禁用。只有将该设置更改为启用时,才会绕过提示。无法使用Internet控制面板调整本地计算机区域的安全设置,因为此UI中仅显示其他四个区域。要更改本地计算机区域的设置,可以编辑注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0

将条目1201的值从1更改为0

,因为应用程序“使用本地笔记本电脑上的htm文件”,您可以尝试切换到.hta应用程序。为了快速测试,只需将*.html重命名为.hta;如果它“有效”,请添加合适的hta:application标签

据我所知,它运行在互联网区域,因为如果我放松那里的设置,脚本运行良好。是否有一种确定的方法来检查这一点?它看起来确实有网络的痕迹。顶部有两行。如果我删除Web条目的标记,它只会提示我是否要运行ActiveX控件,但不会像以前那样阻止它。根据我找到的一些microsoft文章,我重新添加了MOTW,并输入了一个包含在受信任站点列表中的地址。根据他们的文档,它应该引导它在受信任的站点区域中运行,该区域基本上具有完全开放的ActiveX设置,但我仍然得到一个提示。如果我将其设置为localhost,同样适用。这是某个地方的默认设置吗?您可以在状态栏或“页面属性”窗口中看到页面的区域。那里有什么环境?(IE7及以上版本中的受信任站点没有“完全开放”设置)。尽管名称不同,Localhost并不在本地计算机区域中运行——它在Intranet区域中运行。我想我们同时也解决了这个问题。我故意将Web标记上的字符数设置为长于地址,这导致它默认为本地机器区域。经过一些尝试和错误后,我找到了1201注册表项,现在它工作正常。将htm更改为hta并更新链接只会使整个程序崩溃。