.NET 3.5功能很强,但安装却破费周折;第一次安装时提示错误,按照错误提示打开微软一官方链接,页面描述的却都是.NET功能讲解,并没有Troubleshooting的解决案例。遂google一下,结果发现同样郁闷的人很多,于是乎百花齐放的场面出现了,浏览了数十页面,无一解决。
回想、综合了下刚才的资料篇,估计问题出在已经安装了.NET 2.0上,想就做,卸载;失败!换工具强行卸载,失败!Microsoft Support,按照提示:
“有两个位置在注册表中设置 DisableRollback 策略值的位置。 要解决此问题,您必须找出 DisableRollback 策略其中已设置并删除或禁用该设置。
若要找出该属性是否在您的注册表中存在,运行 C:\Regedit.exe 和检查下列位置:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer\DisableRollback
HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Installer\DisableRollback
如果 DisableRollback 项存在并且其值为"1",删除项或设置为"0"项的值。 (您还可以设置 DisableRollback 通过命令行指令)。 Microsoft 建议将管理员和开发人员不设置此属性如果它们使用命令行说明运行安装程序,或安装程序将不起作用。”
于是删除“DisableRollback”这个键值,可以正常卸载2.0,没有提示重启,继续安装.NET 3.5SP1,终于成功!看了下Add or Remove programs,在安装3.5 SP1的过程中同时安装了.NET Framework 2.0SP2、3.0SP2及3.5SP1,至此,问题解决。
快速安装.net 3.5/解决.net 3.5安装错误方法:
.net 3.5 快速安装无错安装方法:
1、下载.net 3.5:
http://download.microsoft.com/download/2/0/E/20E90413-712F-438C-988E-FDAA79A8AC3D/dotnetfx35.exe(微软下载地址)
2、为了避免安装错误,启动windows installer:
启动installer方法:开始->运行->cmd 输入命令:msiexec /unregserver 回车;再输入命令:msiexec /regserver 回车。
3、为了避免安装.net 3.5速度慢,可以跳过下载,方法:
开始->运行 输入“你下载的.net 3.5的完整路径”+“/x”,(如:D:\Download\dotnetfx35.exe /x),
点确定,然后选择你的解压目录。
在你刚才选择的解压目录中找到setup.exe(也可能是其他文件名,如net35setup.exe),
开始->运行 输入“你找到setup.exe的完整路径”+“/lang:ENU”,(如:D:\Download\out\net35setup.exe /lang:ENU),点确定.
这样一来你的.net 3.5就很容易并很快的安装了。
以下是曾经安装.net 3.5 缓慢、出错的摸索步骤:
昨天安装.net 3.5按了好长时间都提示错误,最终终于安上了,如果你按不上了,我安装的过程可供你参考:(我是一点点摸索的,可能多走了不少弯路,你可以把我的步骤倒过来试,可能会更快成功。)
1、从官网下的,2M,等了好久,终于把剩下的下完,安装失败,郁闷了。
2、从官网下载完整.net 3.5包,但安装依旧出错,我开始上网上找办法了。
3、有人说 XP 必须升级到sp3才能安装.net 3.5,我照做了,sp3 有335M 。可升级之后依旧不好用。
4、网上还有人说,.net 3.5要在.net 2.0基础上安装。我一向很相信网友,我下了,才2M多,可是2.0也按不了,我想哭。。。 。。。
不过庆幸的是2.0的错误报告比3.5的强,提示我没有注册 windows installer ,于是自己下载installer,才3M 。不过安装时会提示:“你的service pack版本比你要更新的。。。 。。。”
5、明白问题所在,问题出在installer上了。打开控制面板->管理工具->服务 ~~~晕勒,没有windows installer ?但肯定是这有问题。
解决关键:开始->运行->cmd->输入命令:msiexec /unregserver回车,在输入命令:msiexec /regserver
(这句是从网上学的,msiexec /unregserver是停止installer服务,而msiexec /regserver是注册installer服务,通俗来讲,就是重新注册一下,这样就确保能用了。)
6、之后我就用.net 2.0测试了一下看能用不,它小么。嘿嘿,能用了。
继续安装.Net FrameWork 3.5,也很顺利,搞定咯。
但回过头一下,不知道前面的许多事如果不做能否成功,比如没有升级sp3、比如没有安2.0、比如... ...算了,如或者没有那么多如果。
补充:
即使从官网下了完整.net 3.5包之后,安装时到66M左右还是需要在网上更新,如果没联网或者不想让它磨机,可参考一下方法:
安装dotnet framework 3.5时,系统要下载约70M的东西,一般下载到60M左右就非常慢了,我同事下了几个小时都没下完。这个是因为.net framework 3.5安装时要下载中文语言包所致。
以下这个安装方法可以避免下载语言包,直接安装。
1. 下载dotnetfx35.exe后,运行dotnetfx35.exe /x解压到一个目录。
2. 进入解压的目录,有setup.exe的文件夹,运行setup.exe /lang:ENU.
这样安装时就直接安装了,中文语言包则可以下载后直接安装。
在当前用户的temp文件夹下面(如果是xp和2000是在Document Setting/{用户名}/Application Data/Local/Temp,如果是Vista是在用户/{用户名}/AppData/Local/Temp,当然上面都是默认的用户零时文件夹,如果你修改了但是你又忘了你定位到那里了,可以利用命令行echo %temp%查看一下零时文件夹是那个目录)找到你安装的log文件,我用的是vista,安装的的log文件名是dd_NET_Framework35_MSIXXX.txt(其中XXX是一个三位数子),利用记事本或者是其他工具打开文件,查找Return Value 3,找到之后查看这之上的几行里面就有相应的错误记录。
程序代码
DDSet_Status: CFileHelper::CopyConfigFilesToTempLocation
DDSet_Error: CFileHelper::CheckIsWriteable
GetFileAttributes failed for file C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\config\\machine.config. GetLastError returned 0x2
DDSet_Error: CFileHelper::CheckIsWriteable
C:\\Windows\\Microsoft.NET\\Framework\\v2.0.50727\\config\\machine.config File not found
.net framework 2.0的machine.config配置文件找不着,我将默认配置文件拷贝一份,修改后缀名。然后重新执行安装操作,一切OK。
总结:
其实解决Windows Installer安装错误1603的错误很简单,找到相应的安装log文件,定位到return value 3的前几行,找到错误,解决问题,然后重新安装,就OK了