日期
2021年6月21日
环境
- windows 7 sp1 x64 旗舰版 MSDN安装镜像
- flash 34.0.0.64
详细
故障:
今早,多台电脑的浏览器提示未安装flash控件,可昨天下班前还用得好好的。
近两年来,该故障已出现多次,不过每次仅一两台电脑出现,怀疑是软件bug,我们就直接更新解决。可这次故障涉及大量电脑,导致业务半数暂停,因此不得不重视该问题,而且要探究其根本原因,并一劳永逸的解决。
尝试解决:
对不同电脑分别测试:
- 重装相同版本的flash,故障依旧。
- 重装最新版的flash,故障解决。
- 用官方修复工具,检测提示“flash服务未运行”->点修复,却在flash版本更新安装的步骤卡住许久,不过长时间等待后,也成功更新了版本,并且故障被解决。
原因分析
这个群发的问题很蹊跷。
-
怀疑360隔段时间会自动进行优化,把flash给优化了?想想也不是,不可能把flash这种常用软件给优化掉,而且也没有在优化历史里发现flash的记录。在其他正常的机器上,手动执行优化,flash也依旧正常使用。可见,不是360的问题。
-
查找flash的服务,查来查去,flash只有一个服务“flash helper service”,但是出问题的电脑里都没有这个服务。服务被删除可不是什么常规故障,一定会有相关的程序执行了删除命令,而且是如此群发的服务被删除,更是确定了有相关代码的所运行导致。
我联想到了驱动精灵曾经做的时间限制:下载的安装包里含有下载时间,会限制该安装包只能于下载后的几个月内使用,几个月后就会提示版本过久,并且不给安装。若要使用几个月前的安装包,必须在第一次打开安装包之前,把系统时间调到几个月前。若忘记调时间,直接运行了安装包,则要重装系统,因为安装程序会记录版本过久的信息在系统中不知道什么位置,之后即使调整了时间,依旧也会提示版本过久,不给安装。
猜测flash也做了类似驱动精灵一样的时间限制,以强制更新,因此对flash测试:
- 今天日期是2021年6月21日。
- 格式化硬盘并重装系统,以免老系统的flash有残留,影响测试准确性。
- 先修改日期为2021年1月1日,再安装flash出问题版本。然后测试flash。能正常使用。
- 重启电脑,再次测试flash。能正常使用。
- 修改日期为今天,再测试flash。能正常使用。
- 重启电脑,再次测试使用flash,问题又出现了,故障和今天出问题的机器都一样。
结论:flash确实做了时间限制来强制更新。时间限制会在电脑开机时执行,因此是早上大家上班开机,才出现故障。
解决方法
和同事查找相关资料,发现从第V30版本开始,被国内某公司购买了国内的flash发行权,V30及之后版本均是此公司修改发行。
我们还查看了其它从未出问题的电脑,发现其flash版本均低于V30。
于是,全部换成了V29版本。
经过几个月测试,发现V29、V25虽然没有时间限制,但是有些bug,于是换成V21,正常使用几个月,没有问题。若已经安装了高版本的flash,卸载后装这个低版本的,会提示版本过久,此时用附带的“uninstallflash卸载工具”清理一下即可。
- 下载地址:flash 提取码:
9kvd