ali*_*234 4 windows java windows-7 google-chrome
我正在为用户配置一个全新的联想 U410 系统和 Windows 7 家庭高级版。我直接从商店收到系统。作为配置的一部分,我使用在线安装程序安装了 Java。这工作正常。
后来由于我犯的一个错误,我需要将系统恢复到出厂默认设置。出厂默认格式为 C:\ 并放回(据说)准确的出厂配置。但是,在执行此操作后,我无法再使用之前使用的相同方法成功安装 Java。
现在,每当我尝试使用在线 Java 安装程序时,都会发生以下情况。首先,总是会出现一个窗口“欢迎使用Java”、“正在下载Java 安装程序...”。短时间后,此窗口消失,然后发生以下三件事之一:
我在恢复出厂设置后第一次执行此操作时,会收到 Windows 错误报告,其中包含以下信息:
应用程序名称:JavaSetup7u5.exe
应用程序版本:7.0.50.6
应用程序时间戳:4feacd84
故障模块名称:JavaIC.dll
故障模块版本:9.9.9.9
故障模块时间戳:4f2343d6
异常偏移:000052cb
异常代码:c000040000
异常
版本:0007 6.1.7600.2.0.0.768.3
区域设置 ID:1033
附加信息 1:773c
附加信息 2:773cd78cf06816f8246f359fa270f3bb
附加信息 3:f51a
附加信息 4:f51aaaa36e3c5c5aaa26e3eb
2. 后续运行会产生以下错误消息:
“错误:Java(TM) 安装程序 - 下载的文件 C:\Users\\AppData\Local\Temp\fx-runtime.exe 已损坏。”
或者
什么都不会发生。我相信这是一个红鲱鱼。再次运行安装程序会导致不同的错误,因为文件已下载且安装程序在清理之前崩溃。这不是真正的问题,因为当发生这种情况时,安装程序会删除下载的文件,然后当您第三次运行它时,它会再次下载所有内容并使 javaic.dll 崩溃。我怀疑下载程序附加到现有文件或其他内容,导致损坏。
我已经以管理员和普通用户的身份尝试了上述所有内容。我曾多次尝试将系统重置为出厂默认设置。我尝试使用 Chrome 和 Internet Explorer 9 下载。我尝试卸载所有防病毒软件并完全禁用 Windows 防火墙。唯一不同的是在 Windows XP 兼容模式下运行安装程序,这允许安装完成。
我知道我可以通过使用离线安装程序来解决此错误,因此请不要将其作为答案发布。我正在寻找根本原因的解释。此外,如果我使用离线安装程序,更新程序将不起作用。如果我在 XP 模式下安装,更新程序也不起作用。更新程序失败,因为它只需下载最新的在线设置并运行它即可。
还要记住,安装程序是经过数字签名的。签名验证正确,因此根本不可能是由损坏的下载引起的。
我有一些理论:
java.com 上的 Java 安装文件实际上在第一次成功安装和我后来的尝试之间发生了变化。似乎不太可能,因为版本号都没有改变。但是,我看到了一些关于此错误的报告,这些报告在过去 24 小时内出现。
这看起来是目前最可能的解释:http : //www.oracle.com/us/corporate/press/1735645 - 两天前 Oracle 发布了 7 update 6。仔细检查安装程序发现他们实际上是在尝试下载 .6,而不是下载页面声称的 .5。实际上并不正确。只有更新工具会尝试安装 7u6。在线安装程序仍然尝试 7u5。但是,两天前发布的 7u6 太巧合了,不容忽视。更新: 7u6 在线安装程序可从 Oracle technetwork 获得。它以完全相同的方式崩溃。
恢复出厂设置软件使用 GMT-8,而我使用的是 GMT-1。结果,在恢复出厂设置后,由于Window将本地时间存储在系统时钟中的可怕策略,任何关心检查的软件都会认为系统在未来7小时内恢复。这可能会混淆证书检查或类似内容。更新:我发现这确实会导致 Windows 更新失败。变通方法是在开始恢复出厂设置之前将时钟调回,不会使 Java 正确安装。
出厂重置映像与您购买系统时安装在主分区中的映像实际上并不相同。淘气的联想。
安装程序在安装或显示与 Ask.com 工具栏有关的内容时似乎崩溃。这似乎是 javaic.dll 所做的。
微软星期二是 14 号。一些更新可能会导致这种情况。但是,我每次都在工厂重置机器,所以除非补丁被整合到恢复映像中,或者即使更新被禁用,也有某种机制可以静默安装它们,那么我看不出这是怎么回事原因。
重大突破:
Lenovo 系统上的默认浏览器是 Google Chrome。我注意到 JavaIC.dll “赞助商检查”实际上会检查您的默认浏览器,以确定要显示哪个赞助商广告。通常这会让你在 IE9 上看到 Ask 工具栏。但是该工具栏在 Chrome 上不起作用,因此安装程序会尝试显示不同的广告。不同的广告是导致崩溃的原因。将默认浏览器更改为 IE9 可使安装程序正确运行。因此,这看起来像是安装程序中赞助商广告代码中的真正错误,是由 Google Chrome 默认浏览器和不在美国引起的。(安装程序还使用 IP 地理定位服务检查您的位置,并基于此显示不同的广告。)
我现在找到了解决此问题的方法。恢复出厂设置后,在安装 Java 之前,请执行以下步骤:
您现在可以在任一浏览器中使用在线更新程序下载和安装 Java,它应该可以正常工作。
至于原因,看来是联想出厂镜像采用非标准方式将谷歌浏览器设置为默认浏览器。JavaIC.dll 必须读取不存在或类似的注册表值,导致它因缓冲区溢出(更可能是零长度缓冲区)而崩溃。
| 归档时间: |
|
| 查看次数: |
12362 次 |
| 最近记录: |