微软一直在主推的 .NET 作为一个重要的应用运行平台对微软的生态系统具有重要的影响,在 Windows 8 中,这一应用程序运行的基石也将发展到最新版 .NET Framework 4.5。由于这一全新版本和以前的 .NET 2.0/3.0/3.5 运行库并不兼容,而 Windows 8 在内置 4.5 的同时并没有像 Windows 7 那样直接集成了 2.0/3.0/3.5,因此为先前版本开发的应用程序不能直接在 Windows 8 中运行,系统会自动向用户弹出如下提示:
以下是各个版本在 Windows 中的内置情况:
.NET 2.0
.NET 3.x
.NET 4.x
Windows 7
直接内置
可手动启用
通过安装包安装
Windows 8
可手动启用(通过WU下载)
可手动启用(通过WU下载)
直接内置
默认情况下,用户在上述对话框提示中可以选择让 Windows 自动联网下载安装 .NET 2.0/3.0/3.5 组件,但很多用户报告的情况是,下载会失败(0x800F081F):
于是,有人又会想到直接去微软下载安装包,在本地运行安装。但遗憾的是,微软在官网上所提供的 .NET 3.5 安装包并是专为之前版本制作的,在 Windows 8 上无法安装,这一问题让很多初遇 Windows 8 的用户抓狂了。
其实,之所以不让运行独立版的安装程序,是因为 Windows 8 中本身就支持 .NET 旧版本的安装,只是安装包并没有像其他组件一样放在 Windows\winsxs 文件夹下,而是通过 Windows Update 提供,一旦联网失败,就会出现上述无法安装的尴尬。其实,鲜为人知的是,微软在 Windows 8 安装光盘中也放了一份 .NET 旧版本的安装文件副本,最后,我们可以通过这个副本来执行离线安装,方法如下:
- 双击 Windows 8 安装映像 ISO,将其将加载为虚拟光驱,资源管理器中会多出一个驱动器。
- 在开始页面键入cmd,然后按住Shift和Ctrl键并回车,这样以管理员身份运行命令提示符。
- 运行以下命令从安装盘安装.NET 2.0/3.0/3.5(注意X替换为ISO所加载的盘符):
dism /online /enable-feature /featurename:NETFX3 /source:X:\Sources\sxs /LimitAccess
如果始终停留在 66.5% 进度上不动,可以关闭CMD窗口,重新从第2步开始执行。