安装 x64 版本的 Crystal Reports 我们在随机机器上收到以下错误:
产品:适用于 .NET Framework (64 位) 的 SAP Crystal Reports 运行时引擎 -- 错误 1935。安装程序集组件 {837BF1EB-D770-94EB-A01F-C8B3B9A1E18E} 时发生错误。HRESULT:0x8007054F。程序集接口:IAssemblyCacheItem,函数:Commit,程序集名称:Microsoft.VC80.ATL,version="8.0.50727.4053",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64",type="win32"
它正确安装了 x86 版本。
通过互联网我们发现并尝试了以下方法:
- 增加 RegistrySizeLimit 注册表值的大小。在某些机器上有效,但在其他机器上无效。
- 要执行事务日志重置:fsutil resource setautoreset true C:。没有区别。
发现有趣的症状:
- 所有出现故障的机器都存在 Windows 更新问题。更新日志显示一个 KB(并不总是相同)不断重复出现错误。
- 执行 SFC /scannow 总是说有一个待处理的更改并且需要重新启动(如果您重新启动它仍然显示相同的内容)。
- 从窗口特性来看,该窗口几乎是空的,没有大多数应该存在的元素。
关于如何安装 Crystal Reports 以及它与 Windows Update 有何关系,您有什么想法吗?
答案1
今天,我使用 x64 和 x86 版本的 Crystal Reports 运行时遇到了这个确切的问题,最终我找到了一种(痛苦的)安装方法。
原因是 Crystal Reports Runtime v13.x 的安装程序声明了对 Visual C++ Runtime 2005 的依赖,但该安装程序本身存在严重问题。它无法识别自身或已安装的 2005 版本,因此即使没有必要,也总是会尝试安装。
这通常不会成为什么大问题,但事实证明安装程序也与 .NET Framework 安装程序不兼容。因此,如果您使用的是 Windows 7 并且已经安装了 .NET Framework 4.6.1 等,那么所有 Crystal Reports Runtime 安装都将失败,并出现与 WinSxS 等相关的非常模糊的消息。
他们根本不玩游戏,并且没有命令行切换到 Crystal Reports Runtime 安装程序来跳过 VC++ Runtime 检查。
为了给聚会增添乐趣,仅卸载 .NET Framework 4.6.1 是行不通的,因为它会留下残留文件,除非先卸载使用它的程序!
所以我做的是:
卸载我怀疑需要 .NET Framework 4.6.1 的所有内容(Visual Studio 2010 及其所有依赖项,包括 SQL 数据工具等)
卸载 .NET Framework(这会将系统回滚到默认版本。我认为对于 Windows 7 来说,是 2.0)
卸载所有 Visual C++ 运行时。
卸载所有 Crystal Reports 运行时(如果有)。
重启
安装 Crystal Reports 运行时(x86、x64)。
重新安装 .NET Framework 4.6.1
重新安装 Visual C++ 运行时。
幸运的是,我不再需要 VS2010,因为我已经安装了 2015。
现在一切正常!