从google上能找到的dotnet framework 3.5 的安装错误主要集中在卸载不全而导致的安装错误,因为3.5版本和以前的framework貌似不兼容,而framework在卸载的时候经常遗留一些尾巴导致了3.5经常安装不成功。在文末的参考文章里大家能看到比较有代表性的文章和解决方法。这里会用到两个软件, 一个是dotnetfix cleanup tool(此链接20100331测试有效),这个用来完全卸载所有版本的dotnet framework,一个是msicuu2.exe (此链接20100331测试有效),这个专门用来卸载windows installer里面的安装信息。这两个工具完全可以解决因为framework卸载不完全引起的各种安装问题。
然而dotnet framework 3.5 安装错误有很多原因引起。小钰遇到的这个绝对非常杯具,让小钰都按捺不住和大家分享一下。
首先小钰也以为是卸载不完全,版本不兼容引起的问题,一个偶然的机会小钰到系统日志里看了一眼,才恍然大悟。
在“计算机管理”里面打开“事件查看器”,在“应用程序”里可以查看到安装程序的异常状态和信息。
右图文本信息:
事件类型: 信息
事件来源: MsiInstaller
事件种类: 无
事件 ID: 11707
描述:产品: Microsoft .NET Framework 3.5 -- 安装已成功完成。
事件来源: MsiInstaller
事件种类: 无
事件 ID: 11707
描述:产品: Microsoft .NET Framework 3.5 -- 安装已成功完成。
左图文本信息:
事件类型: 错误
事件来源: MsiInstaller
事件种类: 无
事件 ID: 11933
描述:Product: MSXML 6.0 Parser (KB933579) -- Error 1933. The Windows Installer service cannot update one or more protected Windows files. SFP Error: 21. List of protected files:/r/nc:/windows/system32/msxml6.dll,c:/windows/system32/msxml6r.dll
这下真相大白了,原来dotnet安装成功了,因为xml出错所以使得原本安装好的dotnet回滚了,导致整个安装过程失败。这下好办,下载msxml6.dll和msxml6r.dll复制到system32文件夹里面,再次安装,一切顺利。
总结:
- Windows installer以及其他公司的installer在我看来都是双刃剑,在提供了便利的同时也会产生一些莫名其妙的问题,这时候,通过系统自带的事件查看器来查看分析错误则是一个非常好的办法!
- 另外,如果遇到这种比较具体的问题,用google 博客搜索往往能有意想不到的收获。
参考文章:
-
安装.net framework 3.5失败的一个解决办法,大意是把所有版本的framework卸了再重装。
-
Removal tool to fix .NET Framework install failures,这篇文章介绍了一个用工具卸载framework的残余信息再重新安装。
-
当您尝试从 Windows Update 站点一台基于 Windows XP 的计算机上安装.net Framework 1.1 服务包 1 更新时出现错误消息:“更新未能成功安装” ,这篇来自微软的文章详细介绍了各种卸载.net Framework的方法
来源:http://zypcaid.blog.163.com/blog/static/412768412010231111456150/