[翻译]部署Microsoft .NET Framework Version 3.0(含下载)
部署Microsoft .NET Framework Version 3.0
Annie Wang
Microsoft Corporation
2006年6月
应用于
l Microsoft .NET Framework version 3.0 (formerly known as WinFX)
l Microsoft .NET Framework 2.0
l Microsoft Windows
概要
Microsoft .NET Framework 3.0 (前期名WinFX),是新一代的Windows托管编程模型。要运行已编写好的.NET Framework 3.0应用,需要在运行的电脑上安装好.NET Framework 3.0。本文:
l 简要的描述.NET Framework 3.0和与他关联的早期的.NET Framework版本
l 提供安装和部署.NET Framework 3.0的资料
l 描述怎么样检测是否安装了.NET Framework 3.0
目录
绪论
关于.NET Framework 3.0
.NET Framework 3.0与.NET Framework 2.0和.NET Framework早期版本的关系
.NET Framework 3.0的相关服务策略
未来.NET Framework的路线图(Roadmap)
安装.NET Framework 3.0
.NET Framework Assemblies的相关版本号
部署.NET Framework 3.0
软件要求
硬件要求
.NET Framework 3.0再发布权利
针对IT管理员的.NET Framework 3.0部署工具
在发布你的应用程序同时一起再发布.NET Framework
检测.NET Framework 3.0和.NET Framework早期版本
读取注册表
在Internet Explorer中读取(HTTP协议)用户代理(User-Agent)字串
再发布.NET Framework的相关命令行选项
再发布.NET Framework的相关出错代号
附录A:检测.NET Framework语言包
附录B:在Internet Explorer中检测.NET Framework 3.0的脚本
绪论
本节给出一个.NET Framework 3.0的概要信息。
关于.NET Framework 3.0
Microsoft .NET Framework 3.0 (前期名WinFX),是新一代的Windows托管编程模型。
它合并了强大的.NET Framework 2.0和多种新技术用来建立各种引人注目用户体验的应用,跨越各种技术边界无缝通信,同时支持各种广泛的商业过程。
微软打算把.NET Framework 3.0作为Windows Vista的一部分集成发布(ship)。同时微软将使.NET Framework 3.0也可以在Windows XP Service Pack 2和Windows Server 2003 Service Pack 1上使用。
下表列举了一些包含在.NET Framework 3.0中的技术:
技术 |
描述 |
Windows Presentation Foundation (WPF早期代号"Avalon") |
为建立下一代包含统一用户界面(combine UI)、文档和媒体的智能应用提供(基础)类。 |
Windows Communication Foundation (WCF, 早期代号 "Indigo") |
为针对服务的应用提供一个统一的编程和运行时模型。 |
Windows Workflow Foundation (WF) |
提供一套编程模型、引擎和工具用来建立工作流驱动的应用。这些应用主要用来模拟各种商业过程。 |
Windows CardSpace (早期代号"InfoCard") |
该技术实现简化和提高带有个人身份信息的情况下的在线工作的安全。 |
Microsoft .NET Framework 2.0 |
用于快速(productively)建立基于Windows和Web应用。 |
所有的这些表现为新的组件(WPF, WF, WCF, CardSpace)的类都是System命名空间的一部分。.NET平台核心的类如通用语言运行库(common language runtime,CLR)和基础类库(base class libraries,BCL)都在.NET Framework 2.0中保持不变。
以下是.NET Framework 3.0结构图解
.NET Framework 3.0与.NET Framework 2.0和.NET Framework早期版本的关系
.NET Framework 3.0加入了新的技术使其变成了.NET Framework 2.0的超集。你可以把.NET Framework 3.0想成一个.NET Framework 2.0的添加版本。(非新一代版本)(例如:.NET Framework 2.0是基于.NET Framework 1.0的新一代平台)
因为.NET Framework 3.0是添加版本,并且使用了.NET Framework 2.0的核心运行组件他完全向后兼容以前的版本的.NET Framework(.NET Framework 2.0)。你现有的基于.NET Framework 2.0的应用可以不用修改继续(在.NET Framework 3.0)运行。你也安全地继承了你在.NET Framework 2.0上的投资。
如果你从.NET Framework 1.1或1.0移植到.NET Framework 3.0,你必须在部署前完成冲突分析和运行兼容性测试这些任务。当我们使各个.NET Framework发布版本保持兼容时,由于安全和添加重要的功能还是产生了少量不兼容问题。更多的信息可以参看网站Microsoft .NET Developer Center的Breaking Changes in .NET Framework 2.0。
未来.NET Framework发布版本的路线图
一般而言任何新的版本的.NET Framework都设计为提供向后兼容先前版本的.NET Framework。如果一个新的发布版本因为安全因素或其他原因引入了突变(不兼容的变化),微软将会使你可以能够把新安装的发布版本和已存在的版本并存。
关于.NET Framework未来发布版本更多的信息请见Microsoft .NET Framework Developer Center网站。
安装.NET Framework 3.0
Microsoft Windows Vista上将默认安装.NET Framework 3.0。在代号为“Longhorn”的Microsoft Windows服务器上,你可以使用任务管理工具安装.NET Framework,此安装是作为一个Windows的特性而存在。
在Windows XP and Windows Server 2003安装.NET Framework 3.0也是添加没有安装任意.NET Framework 2.0组件。如果.NET Framework 2.0已经安装,.NET Framework 3.0只需要添加安装Windows Presentation Foundation (WPF),,Windows Workflow Foundation (WF),Windows Communication Foundation (WCF),和Windows CardSpace。
l .NET Framework 2.0共享组件安装在下面位置:
%windir%\Microsoft.NET\Framework\V2.0.50727
l 新增的.NET Framework 3.0组件安装在下面位置:
%windir%\Microsoft.NET\Framework\V3.0
l 所有的.NET Framework 3.0引用的程序集组件安装在下面位置:
%programfiles%\Reference Assemblies\Microsoft\Framework\v3.0
卸载.NET Framework 3.0不会移除.NET Framework 2.0的共享组件。你必须首先卸载.NET Framework 3.0再单独卸载.NET Framework 2.0。(你可以使用Windows控制面板里的添加删除程序卸载.NET Framework)
.NET Framework 程序集的相关版本号
.NET Framework 3.0和.NET Framework 2.0共享了很多组件。.NET Framework 2.0和.NET Framework 3.0的公用语言运行库(common language runtime,CLR)和基础类库(base class libraries)都是相同的。所以这些共享组件仍然是2.0版。版本号为3.0应用于所有Windows Communication Foundation (WCF),Windows Presentation Foundation (WPF),Windows Workflow Foundation (WF)和 Windows CardSpace运行和引用到的程序集。
部署.NET Framework 3.0
本节提供信息是关于部署针对你的应用的.NET Framework 3.0。
软件要求
为了安装.NET Framework 3.0,你必须在目标计算机上安装如下其中一种操作系统:
Microsoft Windows XP Home或Microsoft Windows XP Home Professional,且包含 Service Pack 2或以上服务包。
Microsoft Windows Server 2003 family,且包含Service Pack 1或以上服务包。
注意:.NET Framework 2.0继续支持这个目标平台。更多的信息请见MSDN 网站上的.NET Framework 2.0 Redistributable Prerequisites页面。
Microsoft Windows Vista缺省安装了.NET Framework 3.0。在Microsoft Windows Server "Longhorn"上.NET Framework 3.0是一个Windows特性可以通过任务管理工具安装。
注意:Microsoft Windows Server "Longhorn" IA64版只有IA64平台的.NET Framework 3.0才支持。
硬件要求
下面的清单是运行NET Framework 3.0的硬件要求:
CPU required |
RAM required |
|
Minimum |
Pentium 400 MHz |
96 MB |
Recommended |
Pentium 1 GHz or higher |
256 MB or more |
.NET Framework再分发权利
微软强力支持用户在他们的组织内部署.NET Framework并且作为用户软件解决方案的一部分。分发.NET Framework 3.0运行库需要你同意同意许可协议。关于和你的应用一起再分发.NET Framework 3.0或在分发.NET Framework 3.0给第三方组织的更多信息请见The ISV Guide for Redistributing the .NET Framework and Other Runtime Components
注意:再分发权利只保留给Microsoft .NET Framework 3.0的官方版本。你不能和你的应用一起再分发预发布版的Microsoft .NET Framework 3.0。
IT管理员部署.NET Framework 3.0的工具
IT管理员有两个途径可以把.NET Framework 3.0部署到客户端。管理员模式安装和Active Directory部署。
管理员模式安装
管理员模式安装使IT管理员可以通过Microsoft Systems Management Server (SMS)或其他软件分发工具部署.NET Framework。IT管理员运行在安静模式(silent mode,即无需提示的安装,安装选项来源于事先配置好的脚本或初始化文件)下安装Framework,如果出现错误,将无提示退出安装模式并且记录出错日志。
Active Directory部署
在Active Directory部署情况下,管理员必须从.NET Framework 3.0安装包添加单独的需要部署的.msi文件到适合的组策略。在组策略有效以后,任意客户端引导启动并重新连接网络时作为组策略的一部分将自动安装组件。如果出现错误,将无提示退出安装模式并且记录出错日志。
.NET Framework和你的应用一起再发布
.NET Framework 3.0再发布包是一个可用的独立执行文件。文件名和目标平台类型相关。针对32位平台文件名是Dotnetfx3.exe。针对64位平台文件名是Dotnetfx3_x64.exe。你也可以部署一个小的再发布包名为Dotnet3setup.exe,在安装的时候确定下载需要安装的组件安装。
当你和你的应用一起分发.NET Framework 3.0再发布包时,你必须同意权利许可协议,其中包含了授予你的详细而明确的分发权利。
你可以在计算机上手工执行安装和再发布。也可以作为.NET Framework 3.0应用安装程序的一部分执行安装。(即由.NET Framework 3.0应用的安装程序来执行.NET Framework 3.0的安装)
注意:安装.NET Framework 3.0时必须具有管理员权限。
检测.NET Framework 3.0和其早期版本
你可以通过读取注册表或查询Internet Explorer 用户代理字串来检测已安装的.NET Framework 3.0。
读取注册表健
你可以查找指定的注册表键值检测计算机上是否安装了.NET Framework。
你可以测试以下的列表所列的注册表键和值来确定是否安装了指定版本的.NET Framework。
版本 |
注册表健 |
值 |
3.0 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup |
InstallSuccess (DWORD value = 1) |
2.0 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727 |
Install (DWORD value = 1) |
1.1 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 |
Install (DWORD value = 1) |
1.0 |
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0 |
Install (DWORD value = 1) |
注意:更多的关于检测以前的发布版本.NET Framework 1.0和1.1的服务包的信息请见Microsoft Knowledge Base文章318785, "How to determine which versions of the .NET Framework are installed and whether service packs have been applied"。
在Internet Explorer中读取用户代理字串
对于基于浏览器的应用,你通过运行在计算机上的Internet Explorer测试用户代理字串来检测该计算家是否安装了.NET Framework 3.0。该信息包含在子字串“NET CLR”中包括了主版本号和修订版本号。一个简单的用户代理字串如下:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04131.06)
----------------------------------------------------------------------------------------
*文中红字为我的注释