彻底解决“安装.Net Framework 3.5时出现错误”的问题

        安装VS2008时容易遇到因为安装.Net Framework 3.5出现错误而导致安装失败的问题,错误的提示类似“Error code 1603 for this component means "安装时发生严重错误"…”,让人云里雾里,无所是从,这时只能寄希望于网上的资料。网上关于这个问题的讨论有很多,可见安装VS时遇到这个问题的概率还是很大的。因为这个问题本身具有随机性,而且微软给的错误提示过于笼统,所以网上很多网友都是根据自身的经验给出各自的解决方案,有些不乏合理性(如下载.NET Framework cleanup tool工具清理系统里的.NET Framework版本、删除相关注册表信息),有的却着实让人很难理解(如先卸载IIS再安装),还有的干脆建议重装系统(殊不知很多人都是刚做完系统来安装VS开发软件就遇到这个问题)。实际上,很多人碰到这个问题后都是一顿捣鼓,最后总算是安装成功了,至于怎么解决的这个问题,自己也不是很清楚。所以给出的建议虽然也是经验之谈,但其可操作性和可行性就不得而知了。我因为也是刚做的系统,不想因为这个问题再去重装系统,而且之前也好几次遇到这个问题,浪费了很多时间最后才不明不白地解决了,所以决心这次要彻底解决这个问题。

        彻底解决就要从根源上找原因,“Error code 1603”是唯一的切入点,只有通过这个错误代码按图索骥才能找到引起.Net Framework 3.5安装错误的真正原因。在网上查这个代码的含义,发现msdn上这篇文章《How to locate the cause of error code 1603 in a verbose MSI log file》很有借鉴意义,有兴趣的朋友可以查看。其介绍的解决方案很简单,在当前用户的temp文件夹(XP默认是在“Document Setting/{用户名}/Local Settings/Temp”,具体可以利用命令行“echo %temp% ”查看temp文件夹是哪个目录)下找到你安装的log文件,安装的log文件名是dd_NET_Framework30_SetupXXXX.txt或dd_NET_Framework35_MSIXXXX.txt (具体取决于出错的具体原因,其中XXXX是一个四位数字),利用记事本或者是其他工具打开文件,查找“Return value 3”,找到之后,查看这之上的几行里面就有相应的错误记录。我log里面的错误是:

Error 1406.Could not write value PresentationHost.exe to key \SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ZONE_ELEVATION.  System error .  Verify that you have sufficient access to that key, or contact your support personnel.

       根据这个提示信息可以知道,是注册表写入权限的问题导致了安装.NET Framework失败,问题的根源找到了,问题也就很好解决了。接下来就是修改注册表权限,运行“regedt32”(注意不要运行regedit,regedit不能修改注册表权限),找到“\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_ZONE_ELEVATION”这个注册表key或其上一级的key:FeatureControl,右键选择“权限”,给everyone赋予完全控制权限。然后再次安装.Net Framework 3.5发现就可以安装成功了,接下来再安装VS2008一般就不会再有什么问题了。这里需要说明的是,启动VS2008安装程序毕竟比较麻烦,既然已经知道VS2008安装失败的原因是安装.Net Framework 3.5出错,就可以直接先安装.Net Framework 3.5,安装没问题后再启动VS2008安装程序。.Net Framework 3.5的安装包没有必要像网上说的那样去下载(.Net Framework 3.5下载和在线安装起来还非常麻烦),直接从VS2008安装包“\WCU\dotNetFramework”目录下拿离线安装包就可以了。

       至此,安装.Net Framework 3.5出现错误而导致VS2008安装失败的问题已经可以彻底解决了。相信很多朋友安装.Net Framework 3.5时出现错误的原因和我是一样的,都是注册表权限的问题,按照本文的方法可以圆满解决。如果是其他原因引起的问题,按照本文的方法也能确定其具体原因,然后加以解决。

你可能感兴趣的:(彻底解决“安装.Net Framework 3.5时出现错误”的问题)