对于我们的一个客户,我们正在构建一个(内部)Web应用程序,并在IE11中使用ActiveX来创建一些临时文件。
现在在我的开发机器上,我构建的解决方案运行良好。 64位Windows 7 - IE11 - .NET Framework 4.7.1 但是在我们的生产机器上,无法创建ADODB.Stream对象。 32位Windows 7 - IE11 - .NET Framework 4.6.0
假设IE11安全设置已正确配置,因为它们与开发环境中的设置相同。
当我在其中一台生产计算机上安装.NET Framework 4.7.1时,可以突然创建ADODB.Stream对象而不会出现问题。 不幸的是,由于其他依赖性,不能在所有生产机器上推出.NET Framework更新。
我想知道是否有人可以告诉我,我们是否可以在我们的生产环境中手动安装该框架的某个特定部分来解决此问题。是否有我们可以在某处手动安装的DLL文件,或者还有其他我缺少的东西?
JS代码:
try {
outStream = new ActiveXObject('ADODB.Stream');
outStream.Type = 2;
outStream.CharSet = 'iso-8859-1';
outStream.Open();
outStream.WriteText(content);
outStream.SaveToFile(tmpFilePath, 2);
outStream.Close();
}
catch (e) {
alert("An error occurred trying to create tempfile: " + e.description);
}

如果没有,那么可以将二进制文件写入文件系统的ADODB.Stream对象替代。 FileSystemObject似乎无法做到。
此外,关于ActiveX的许多问题似乎都有一般建议:"不要使用ActiveX"。我们知道安全问题,但它处于一个完全本地的安全环境中,客户端坚持使用此功能。
此时我们将不胜感激。