今天安装vs.net 2008,以为很顺利,谁知安装 framework 3.5时出现错误:
[11/10/12,16:59:40] Microsoft .NET Framework 3.0a: [2] Error: Installation failed for component Microsoft .NET Framework 3.0a. MSI returned error code 1603
[11/10/12,16:59:46] WapUI: [2] DepCheck indicates Microsoft .NET Framework 3.0a is not installed.
查看:C:\Documents and Settings\Administrator\Local Settings\Temp\下的日志文件:dd_net_framework30_setup52bf.txt,其中有信息提示:
MSI (s) (90:A4) [16:59:40:593]: 产品: Microsoft .NET Framework 3.0 Service Pack 1 - 无法安装更新“.NET Framework WCS”。错误代码 1603。可以在日志文件 C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\dd_NET_Framework30_Setup52BF.txt 中找到其他信息。
MSI (s) (90:A4) [16:59:40:593]: Windows Installer 已安装一个更新。产品名称: Microsoft .NET Framework 3.0 Service Pack 1。产品版本: 3.1.21022。产品语言: 0。更新名称: .NET Framework WCS。安装成功或错误状态: 1603。
在网上查了很多资料,包括微软论坛,试过后发现都不能解决问题,唯一能彻底解决的方法:
在注册表,HKEY_LOCAL_MACHINE\SOFWARE\Microsoft\Internet Explorer下MAIN子键的权限问题,改成"允许完全控制"就行了.
我机器环境:win xp sp3,盗版的萝卜家园。为了验证问题所在,我重新卸掉了framework,用dotnetfx_cleanup_tool工具清理了所有framework 版本,再重新修改上面注册表main子键(即删除“允许完全控制”),再重装,结果问题又出现了,说明问题所在,的确是因为上面的注册表子键权限问题引起。至此,问题彻底解决。
附:以下按照网络提供的方法,均失败:
方法一:重新下载net framework 3.5 和 .net framework 3.5的语言包( http://download.microsoft.com/download/E/F/C/EFC61FBC-24DD-448F-BEA7-3B939BB1EB05/dotnetfx35langpack_x86zh-CHS.exe);2.运行.net framework 3.5 安装程序,在解压文件的时候或“安装程序正在加载安装组件。这可能需要一两分钟的时间”的时候,迅速复制 3.5语言包安装程序dotnetfx35langpack_x86zh-CHS.exe 到 那个临时文件夹里的wcu\dotNetFramework\dotNetFX35\x86下面然后点'同意'开始安装,一会 .net framework 3.5就安装成功;3.这次安装vs2008吧,.net framework 3.5上面已经安装了,它会自动跳过,直接安装其他组件,全部成功!(结果:失败)
方法二:重启IIS,或关闭IIS服务,再不行卸载IIS(结果:失败)
方法三:使用dotnetfx_cleanup_tool工具清理framework所有版本(结果:失败)
方法四:重新下载VS.2008安装。(结果:失败)
方法五:重新安装系统(结果:未知,不建议)