|
最近在测我负责的一个模块时候发现一个问题,一个dll无法加载。用dependency walker之后,发现是有2个其所依赖dll(非直接)没有找到,而这2个都是windows系统的dll,此前的测试中并没有问题。经过一番比较终于发现罪魁祸首是IE7,而负责搭建环境的家伙最近在clean image里加上了IE7.
昨天偶把这个问题escalate了,现在初步决议是暂时放弃对IE7的支持,google了一把,资料还挺多,以下就是一段和我们相同的问题,不知道大家有没有遇到过:
“Now that vista is out, can you please fix the MAJOR bug that causes IE7 to kill any non vista box. Namely that IEFRAME.DLL seems to have been compiled with a call to DwmExtendFrameIntoClientArea which it says is in DWMAPI.dll except that DWMAPI.DLL is a VISTA DLL! So any application that for whatever reason pulls that in, seems to fail. I don't know why IE7 doesn't fail as well, but many applications are failing left and right due to this.”
“I highly recommend people think twice about installing IE7. It will most likely break existing applications on your system.
MSHTML.DLL pulls in IEFRAME.DLL which attempts to pull in DWMAPI.DLL. However, DWMAPI.DLL does no exist on any non vista box. I just installed a Server 2K3 box and did the critical updates and since IE7 was listed as high priority it downloaded and I got hit by this.
It's amazingly shocking that something like this got through Microsoft's testing.”
很遗憾微软的QA没有发现这个问题,或者更可能的是发现了,但是级别调的很低,所以就直接出来了。既然这样微软就不该在除了vista以外的平台上急于推广IE7。以前微软这方面做得都不错,但近年来无论是office,windows等都有这方面断层的苗头出现,所以新版本office和windows vista都远不如预期的普及速度,当然xp实在是个强悍的产品 lol。所以如果不是用vista,建议大家不要急着用IE7。 |
|