那天我差点把电脑砸了
事情是这样的,我手上有个老项目,非得在 Win10 的 64 位系统上跑。这项目,用的东西有点旧,必须依赖一个叫 .NET Framework 2.0 的东西,还得是64位的。我心想着,这玩意儿不是系统自带吗?应该分分钟搞定?结果,现实啪啪打脸。
我压根没当回事,大大咧咧打开控制面板,点进“程序和功能”,找到“启用或关闭 Windows 功能”。找找,列表里躺着的 .NET Framework 版本还挺多,3.5、4.8都有,就是死活瞅不见 2.0 的影子。奇了怪了,不是说好的自带吗?
我寻思,可能是我安装姿势不对。得,手动安装试试呗。屁颠屁颠跑去官网下载页,好不容易翻到了 Framework 2.0 对应 64 位系统那个安装包,叫什么 ,看着名字就对味儿。双击,运行,进度条吭哧吭哧走,我美滋滋等着。
结果?进度条走到快结束的时候,“哐当”一下,弹个窗!提示什么“安装程序未正确安装,请下载xxxx”之类的,具体文字记不清了,反正意思就是“哥,你这活儿干不成”。我当时那个火,直接点了重试。好家伙,同样的错误,同样的位置卡壳,循环播放,气得我烟灰缸都快堆满了。
不死心,再换个思路,用管理员身份运行!右键,以管理员身份运行,满怀期待,看着进度条一点点挪……结果到了老地方,熟悉的弹窗,熟悉的配方,完犊子!
这下我彻底懵了。赶紧上网搜,说法五花八门:
- 有的说缺系统组件,让装 KBxxx 补丁包
- 有的说得先装 3.5,2.0 算它的组件
- 还有的甚至让我去翻系统安装盘里某个深不见底的文件夹找旧文件
我先试了在“启用或关闭 Windows 功能”里勾选 .NET Framework 3.5 (包括 .NET 2.0 和 3.0),等它下载安装完。心里想着这下稳了?该自带了?结果扭头再去手动安装那个 ,到 99% 还是给我弹错误!心态彻底炸了!合着我折腾半天,装了等于没装?
就在我抓耳挠腮,已经准备开始翻垃圾桶找系统安装盘(虽然我知道早就没光驱了)的时候,突然灵光一闪。这安装包是不是太老了,跟现代系统不兼容?它自己都搞不清楚环境?
我赶紧对着那个坑爹的 安装包,使出老技师的秘籍:右键点击它,选择“属性”。找到“兼容性”选项卡,看到那个“以兼容模式运行这个程序”没?果断勾上!然后在下面的下拉菜单里,选了“Windows XP (Service Pack 3)”或者“Windows Server 2003 (Service Pack 2)”,反正捡老版本试。
深吸一口气,怀着死马当活马医的心态,再次以管理员身份运行这个设置了兼容模式的安装包。奇迹出现了!那个卡了我一万遍的进度条,这回居然安安稳稳走完了!顺利弹出了安装完成的提示!我都不敢相信自己的眼睛!
踩坑总结
折腾大半天,血泪教训:
- 别指望默认自带: 较新的Win10/Win11,默认组件里压根没Framework 2.0单独的身影。
- 装3.5不等于搞定2.0: 通过系统功能安装.NET 3.5,它确实包含2.0的核心组件,能支持大部分运行。但坑就坑在,有些倔驴程序、老SDK或者开发环境,就是认定要找那个独立的2.0安装记录!不然它就硬是说环境没装。
- 直接跑安装包?找死! 原生的 在64位Win10/11上,十有八九走到给你翻脸。
- 老司机秘籍:兼容性模式+管理员权限: 对着安装包右键 -> 属性 -> 兼容性标签页:
- 强制开启兼容性模式,选老掉牙的系统(XP SP3或Server 2003 SP2都行)。
- 打钩“以管理员身份运行此程序”。
- 再运行!世界清静了!
搞定收工!这破问题浪费我一整天,兄弟们,听老哥一句劝,装2.0 64位,别问为什么,先上兼容性模式准没错!