Windows2003环境下安装VS2008,.NetFramework3.5组件安装失败的解决

由于经历过不少挫折,所以安装之前,找了不少资料先参考一下。
之前安装VS2008时,发现与Office2007冲突,在搜索了网络以后并请教一些朋友,发现其顺序是先VS2008然后Office2007,并且最好在vs2008之前安装SQL2005。
可是,在按照上述顺序安装时仍然遇到了问题:.NetFramework3.5组件安装失败。
查看日志,是1603。在网络上找了不少资料,我自己是参照第三种方法,结果成功。

(一)
在尝试安装 .NET Framework 1.0、1.1、2.0、3.0 或 3.5 的更新时,可能会收到 Windows Update 错误代码“0x643”或 Windows Installer 错误代码“1603”。错误代码,可以查安装日志知道。
一种方法是:手动删除并重新安装 .NET Framework
a. 单击“开始”,然后单击“控制面板”。
b. 双击“添加或删除程序”。
c. 记下计算机上已安装的每个 .NET Framework 版本,然后卸载所有 .NET Framework 版本。
d. 出现提示时,重新启动计算机。
另一种方法是:下载专门的清理工具dotnetfx_cleanup_tool,将NET Framework1.0、1.1、3.5全部清除,然后重启,不重启继续安装是无效的。
记得重启安装vs2008之前记得清理VS注册表,否则安装过程出现“找不到一个或多个组件,请重新安装程序”错误。使用regedit32.exe打开系统注册表,查找项目:
HKEY_CLASSES_ROOT\Installer\Products
一项一项的选中其下的所有子项目,查看右边的“Product Name”,找到Product Name为“Visual Studio .NET XXXXXXX ……”的项目。
(在偶的机器上是:HKEY_CLASSES_ROOT\Installer\Products\4080F50F71584654188F76230D82B175)
删除,重新安装。
如果还不行,就删除HKEY_CLASSES_ROOT\Installer\Products下所有Product Name跟.net有关的项,然后重装。

(二)
网上说的使用 Installer Clean Up 清除installer的记录 的方法和使用.net 的信息卸载清除工具dotnetfx_cleanup_tool的方法,经本人实践后失败;直接下载 .net framework 3.5 安装也是失败;折腾了一天一夜,郁闷了很长时间,经我实验,终于找到解决办法
经过我的多次验证, 只需要下面几步:
1.下载 .net framework 3.5 ( http://1.wt1.crsky.com/software/dotnetfx35_chs.exe ,我是使用这个成功的,其他版本的估计也行 )和 .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 安装程序,它会解压文件到c盘(也可能是其它空间最大的盘)根目录下的一个随机生成的临时文件夹里如C:\f6e66e4ec7e074ec3e400c97411f25 ,在解压文件的时候或“安装程序正在加载安装组件。这可能需要一两分钟的时间”的时候,迅速复制 3.5语言包安装程序dotnetfx35langpack_x86zh-CHS.exe 到 那个临时文件夹里的wcu\dotNetFramework\dotNetFX35\x86下面(例如我的 C:\f6e66e4ec7e074ec3e400c97411f25\wcu\dotNetFramework\dotNetFX35\x86 下,这样它自己也不用下载11M多的语言包了,微软自己的安装包下载速度非常慢,让人受不了),然后点'同意'开始安装,一会 .net framework 3.5就安装成功了
3.这次安装vs2008吧,.net framework 3.5上面已经安装了,它会自动跳过,直接安装其他组件,全部成功!

(三)
我的系统是windows2003 server版,这二天在自己家电脑安装VS2008时,出现.net Framework3.5安装出错的情况,无法继续安装了。以前在公司电脑安装的时候没有出现过这种情况。在网上搜了搜,原来很多人也遇到类似错误:Microsoft .NET Framework 3.5: [2] Error code 1603 for this component means "Fatal error during installation.,照网上的方法试了试:
1. 下载一个微软的工具(dotnetfx_cleanup_tool)删除所有版本的.net framework,然后重装,错误依旧。
2. 在微软下载单独的.net Framework3.5安装包dotnetfx35.exe, 再次安装,还是不行。
最后只好查看安装日志文件dd_dotnetfx35error.txt,在网上找了一下:,WIC是Windows Imaging Component的缩写,在安装包里找到这个组件: H:\WCU\dotNetFramework\dotNetFX30\WIC_x86_enu.exe,单独运行出现这样的提示错误:安装程序不能验证Update.inf文件的完整性,请确定加密服务正在此计算机上运行
原来是这个WIC 无法安装导致.net Framework3.5安装出错,又搜了一下,网上提供如下分析:
造成这一问题的原因是确认Windows文件认证的Cryptographic服务不能正常工作。而安装系统漏洞补丁时,Windows需要利用该服务检验补丁安装文件是否经过微软认证,解决方法是:
首先,打开“管理工具”→“服务”管理器,在服务管理器的主窗口服务列表中,找到名称为“Cryptographic Services”的服务项,停止该服务。
接下来,在资源管理器中,打开系统安装目录\System2,在该文件夹下,找到名为“catroot2”的文件夹,将其下的文件清空。最后在服务管理器中,将“Cryptographic Services”服务重新启动,并安装系统漏洞补丁,一般就可以正常安装系统补丁了。
照此方法后,WIC安装成功!再重新安装.netFramework3.5独立包,安装成功!接下来安装VS2008就一路顺了。
总结了一下,如果出现.net Framework3.5安装出错的情况要看一下安装日志文件,看一下错误出在哪个环节,再对症下药。

(Remarks)
CatRoot & CatRoot2
CatRoot文件夹中包含了安全编录文件.用来存放计算机启动测试信息的目录,包括了计算机启动时检测的硬软件信息。
CatRoot2文件夹中包含了编录数据库文件.当你安装某些第三方程序时, 可能会需要某些特定的 .CAT 文件存在.,这些 .CAT 存在于以下文件中:CatRoot\{F750E6C3-   38EE-11D1-85E5-00C04FC295EE},对于不咋明白系统的用户最好不要删除
CatRoot2文件夹中产生的文件都是临时文件. 其扩展名为*.chk, *.emb, *log, 以及 *.txt.

最后一种方法,还提供了解决问题的思路。真是一种好方法。不过即便有解决思路,还需要扎实的根基。
安装成功以后,赶紧做一个ghost,要是重装不用那么麻烦了!

posted @ 2009-08-13 11:41  chunshen  阅读(22726)  评论(0编辑  收藏  举报