部署 Microsoft .NET Framework 版本 3.0

 

王安妮
Microsoft Corporation

2006 年 6 月

适用于
   Microsoft .NET Framework版本 3.0 (以前称为 WinFX)
   Microsoft .NET Framework 2.0
   Microsoft Windows Vista

总结:Microsoft .NET Framework 3.0 (以前称为 WinFX) ,是适用于 Windows 的新托管代码编程模型。 为 .NET Framework 3.0 编写的应用程序需要在运行应用程序的计算机上安装 .NET Framework 3.0。 本文简要介绍了 .NET Framework 3.0 及其与早期版本.NET Framework的关系,提供有关安装和部署 Framework 的信息,并介绍如何检测是否安装了 .NET Framework 3.0。 ) (18 个打印页

目录

简介
   关于 Microsoft .NET Framework 3.0
   .NET Framework 3.0 与 .NET Framework 2.0 及更早版本的关系
   .NET Framework 3.0 的服务策略
   未来.NET Framework版本的路线图
安装 .NET Framework 3.0
   .NET Framework程序集的版本号
部署 .NET Framework 3.0
   软件要求
   硬件要求
   .NET Framework的再分发权限
   用于部署 .NET Framework 3.0 的 IT 管理员工具
   使用应用程序重新分发.NET Framework
检测 .NET Framework 3.0 及更早版本
   读取注册表项
   在 Internet Explorer 中读取User-Agent字符串
.NET Framework 3.0 可再发行对象的命令行选项
.NET Framework 3.0 可再发行对象的错误代码
附录 A:检测.NET Framework语言包
附录 B:使用 Internet Explorer 检测 .NET Framework 3.0 的示例脚本

简介

本部分概述了 .NET Framework 3.0。

关于 Microsoft .NET Framework 3.0

Microsoft .NET Framework版本 3.0 (以前称为 WinFX) 是适用于 Windows 的新托管代码编程模型。 它将 .NET Framework 2.0 的强大功能与用于构建具有视觉吸引力的用户体验、跨技术边界无缝通信并支持各种业务流程的应用程序的新技术相结合。 Microsoft 计划将 .NET Framework 3.0 作为 Windows Vista 的一部分交付。 同时,Microsoft 将为 Windows XP Service Pack 2 和 Windows Server 2003 Service Pack 1 提供.NET Framework。

下表列出了 .NET Framework 3.0 附带的一些技术。

技术 说明
Windows Presentation Foundation (WPF,以前代号为“Avalon”) 提供用于生成组合 UI、文档和媒体的下一代智能客户端应用程序的类。
Windows Communication Foundation (WCF,以前代号为“Indigo”) 提供统一的编程模型和运行时,用于生成面向服务的应用程序。
Windows Workflow Foundation (WF) 提供编程模型、引擎和工具,用于生成支持工作流的应用程序,为业务流程建模。
Windows CardSpace(以前代号为“InfoCard”) 提供一种技术,用于简化和提高在线处理个人身份信息的安全性。
Microsoft .NET Framework 2.0 支持高效构建 Windows 和基于 Web 的应用程序。

表示 WPF、WF、WCF 和 CardSpace) (新组件的所有类都是 System 命名空间的一部分。 .NET 平台的核心类(如公共语言运行时 (CLR) 和基类库) (BCL) 保留为 .NET Framework 2.0。

下图说明了 .NET Framework 3.0 的结构。

Aa480198.netfx30 (en-us,MSDN.10) .gif

图 1. .NET Framework 3.0

.NET Framework 3.0 与 .NET Framework 2.0 及更早版本的关系

.NET Framework 3.0 向 .NET Framework 2.0 添加了新技术,这使得 .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 2.0 的应用程序将继续运行,无需进行任何修改,并且可以使用 .NET Framework 2.0 附带的技术安全地继续投资。

如果要从 .NET Framework 1.1 或 1.0 迁移到 .NET Framework 3.0,则应在部署之前执行影响分析并运行兼容性测试。 虽然我们努力使.NET Framework版本兼容,但由于安全性和大量新增功能,存在少量已知的不兼容问题。 有关详细信息,请参阅 Microsoft .NET 开发人员中心网站上的 .NET Framework 2.0 中的重大更改页面。

.NET Framework 3.0 的服务策略

Microsoft 将继续根据受支持的平台的标准支持策略.NET Framework 2.0 版本提供服务。 当前依赖于 .NET Framework 2.0 的用户可以选择保留该版本的.NET Framework,并在软件更新可用时接收软件更新。

作为 .NET Framework 3.0 的一部分提供的任何组件都将在支持它的平台上提供服务。 有关详细信息,请参阅 Microsoft Visual Studio 开发人员中心网站上的 软件更新技术 页面。

未来.NET Framework版本的路线图

通常,任何新版本的 .NET Framework旨在提供与以前版本的向后兼容性。 如果新版本由于安全问题或其他原因引入了中断性变更,Microsoft 将允许你与现有版本并行安装新版本。

有关.NET Framework的未来版本的详细信息,请参阅 Microsoft .NET Framework 开发人员中心网站。

安装 .NET Framework 3.0

默认情况下,.NET Framework 3.0 安装在 Microsoft Windows Vista 上。 在代号为“Longhorn”的 Microsoft Windows Server 上,可以使用角色管理工具将.NET Framework安装为 Windows 功能。

在 Windows XP 和 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 的文件。

与 .NET Framework 2.0 共享的组件安装在以下位置:

%windir%\Microsoft.NET\Framework\V2.0.50727

.NET Framework 3.0 中新增的组件安装在以下位置:

%windir%\Microsoft.NET\Framework\V3.0 

.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 共享许多组件,公共语言运行时 (CLR) 和基类库与 .NET Framework 2.0 中的相同。 因此,这些共享组件保留为版本 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 家庭版或 Microsoft Windows XP 家庭专业版,附带 Service Pack 2 或更高版本。
  • 带有 Service Pack 1 或更高版本的 Microsoft Windows Server 2003 系列。

请注意,.NET Framework 2.0 在其目标平台上仍受支持。 有关详细信息,请参阅 MSDN 网站上的 .NET Framework 2.0 可再发行组件先决条件页。

.NET Framework 3.0 默认随 Microsoft Windows Vista 一起安装。 在 Microsoft Windows Server“Longhorn”上,.NET Framework 3.0 是一项 Windows 功能,可以使用角色管理工具进行安装。

注意Microsoft Windows Server “Longhorn” IA64 Edition 是 .NET Framework 3.0 支持的唯一 IA64 平台。

硬件要求

下表列出了运行 .NET Framework 3.0 的硬件要求。

  需要 CPU 需要 RAM
最小值 Pentium 400 MHz 96 MB
建议 Pentium 1 GHz 或更高版本 256 MB 或更大

.NET Framework的再分发权限

Microsoft 大力支持客户在其组织内部署.NET Framework,并将其作为软件解决方案的一部分。 分发 .NET Framework 3.0 运行时需要接受许可条款。 有关将 .NET Framework 3.0 与应用程序或第三方一起重新分发的信息,请查看 MSDN 网站上的“重新分发.NET Framework和其他运行时组件的 ISV 指南”页。

注意可再发行权仅保留给官方发布的 Microsoft .NET Framework 3.0 版本。 不得随应用程序重新分发 Microsoft .NET Framework 3.0 的预发布版本。

用于部署 .NET Framework 3.0 的 IT 管理员工具

.NET Framework 3.0 为 IT 管理员提供了两种部署到现场客户端的方法:管理员模式设置和 Active Directory 部署。

管理员模式设置

通过管理员模式设置,IT 管理员可以通过 Microsoft 系统管理服务器 (短信) 或其他软件分发工具部署.NET Framework。 IT 管理员在无提示模式下运行框架安装程序。 如果发生错误,安装程序会以无提示方式退出并记录错误代码。

Active Directory 部署

在 Active Directory 部署中,管理员必须将.NET Framework 3.0 安装包中的单个.msi文件添加到组策略中,以部署.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 需要管理员权限。

有关详细信息,请参阅 Microsoft .NET Framework 3.0 部署指南网页。

检测 .NET Framework 3.0 及更早版本

可以通过读取注册表项并在 Internet Explorer 中查询用户代理字符串来检测是否安装了 .NET Framework 3.0。

读取注册表项

可以查找指定的注册表项值,以检测计算机上是否安装了.NET Framework。 下表列出了可以测试以确定是否安装了特定版本的.NET Framework的注册表项和值。

版本 注册表项名称
3.0 要打开“服务”管理单元,请单击“开始”,指向“管理工具”,然后单击“服务”。 InstallSuccess (DWORD 值 = 1)
2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727 安装 (DWORD 值 = 1)
1.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 安装 (DWORD 值 = 1)
1.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0 3705 (REG_SZ 值 = 3321-3705)

注意有关检测 .NET Framework 1.0 和 1.1 以前发布的 Service Pack 的详细信息,请参阅 Microsoft 知识库中的文章318785“如何确定安装了哪些版本的.NET Framework以及是否已应用 Service Pack”。

在 Internet Explorer 中读取User-Agent字符串

对于基于浏览器的应用程序,可以通过使用计算机上运行的 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)

附录 B:使用 Internet Explorer 检测 .NET Framework 3.0 的示例脚本列出了在浏览器中运行的示例 JavaScript 程序,并显示有关当前.NET Framework版本号的信息。

浏览器标头中发送的用户代理字符串存储在服务器计算机的注册表中,如下表所示。

版本 注册表项
3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR.3.0。04131.06
注意 内部版本号 (
04131.06
示例中) 将更改 .NET Framework 3.0 的最终版本。
2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 2.0.50727
1.1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR 1.1.4322

.NET Framework 3.0 可再发行对象的命令行选项

下表列出了从命令行运行 .NET Framework 3.0 可再发行组件安装程序 (Dotnetfx3.exe、Dotnetfx3_x64.exe或Dotnet3setup.exe) 时可以包含的选项。

选项 说明
/q
禁止显示所有 UI。 不能使用此选项指定.INI文件。
/quiet
/q 相同。
/qb
显示最小 UI,仅显示进度。
/passive
/qb 相同。
/uninstall
卸载产品。
/remove
/uninstall 相同。
/f
修复安装的所有.NET Framework 3.0 组件。
/nopatch
指定不应用修补程序并绕过修补程序检查。
/norollback
指定在安装组件失败时不会回滚安装程序。
/norestart
指定安装程序在安装完成后不重新启动计算机。 如果需要重新启动,可再发行组件安装程序将返回 ERROR_SUCCESS_REBOOT_REQUIRED (3010) 。
/?
显示此选项列表。

.NET Framework 3.0 可再发行对象的错误代码

下表列出了 .NET Framework 3.0 可再发行组件安装程序 (Dotnetfx3.exe、Dotnetfx3_x64.exe 或 Dotnet3setup.exe) 可以返回的错误代码。 所有版本的安装程序的错误代码都是相同的。

错误代码 说明
ERROR_SUCCESS
0 操作已成功完成。
ERROR_INSTALL_USEREXIT
1602 用户已取消安装。
ERROR_INSTALL_FAILURE
1603 安装期间发生错误。
ERROR_UNKNOWN_PRODUCT
1605 此操作仅对当前安装的产品有效。
ERROR_PATCH_PACKAGE_INVALID
1636 无法打开修补程序包,或者修补程序不适用于 .NET Framework 3.0。
ERROR_INVALID_COMMAND_LINE
1639 无效的命令行参数。
ERROR_SUCCESS_REBOOT_INITIATED
1641 安装程序已发起重启。 这表示成功,安装程序将在重启后继续。 (如果指定了选项, /norestart 则不执行重新启动。)
ERROR_PATCH_PACKAGE_REJECTED
1643 系统策略不允许该修补程序包。
ERROR_SUCCESS_REBOOT_REQUIRED
3010 需要重新启动才能完成安装。 此消息指示安装成功。

附录 A:检测.NET Framework语言包

下表列出了可以读取以检测计算机上是否安装了.NET Framework语言包的注册表值。 有关如何检测 .NET Framework 1.0 的本地化版本的详细信息,请参阅 MSDN 网站上的 .NET Framework 可再发行程序包技术参考页。

产品 注册表值
中文 (简体中文) 语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2052

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2052

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\2052

InstallSuccess (DWORD 值 = 1)

中文 (传统) 语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1028

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1028

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1028

InstallSuccess (DWORD 值 = 1)

捷克语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1029

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1029

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1029

InstallSuccess (DWORD 值 = 1)

丹麦语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1030

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1030

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1030

InstallSuccess (DWORD 值 = 1)

荷兰语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1043

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1043

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1043

InstallSuccess (DWORD 值 = 1)

芬兰语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1035

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1035

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1035

InstallSuccess (DWORD 值 = 1)

法语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1036

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1036

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1036

InstallSuccess (DWORD 值 = 1)

德语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1031

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1031

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1031

InstallSuccess (DWORD 值 = 1)

希腊语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1032

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1032

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1032

InstallSuccess (DWORD 值 = 1)

意大利语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1040

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1040

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1040

InstallSuccess (DWORD 值 = 1)

日语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1041

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1041

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1041

InstallSuccess (DWORD 值 = 1)

朝鲜语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1042

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1042

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1042

InstallSuccess (DWORD 值 = 1)

挪威语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1044

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1044

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1044

InstallSuccess (DWORD 值 = 1)

波兰语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1045

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1045

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1045

InstallSuccess (DWORD 值 = 1)

葡萄牙语 (巴西) 语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1046

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1046

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1046

InstallSuccess (DWORD 值 = 1)

葡萄牙语 (葡萄牙) 语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2070

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2070

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\2070

InstallSuccess (DWORD 值 = 1)

俄语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1049

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1049

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1049

InstallSuccess (DWORD 值 = 1)

西班牙语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\3082

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\3082

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\3082

InstallSuccess (DWORD 值 = 1)

瑞典语语言包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1053

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1053

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1053

InstallSuccess (DWORD 值 = 1)

土耳其语包 版本 1.1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1055

版本 2.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1055

安装 (DWORD 值 = 1)

版本 3.0

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1055

InstallSuccess (DWORD 值 = 1)

附录 B:使用 Internet Explorer 检测 .NET Framework 3.0 的示例脚本

以下示例演示在浏览器中运行的 JavaScript 程序检测 .NET Framework 3.0 是否正在运行。 该脚本搜索用户代理字符串,并根据搜索结果显示状态消息。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Test for NET Framework 3.0</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script type="text/javascript" language="JavaScript">
    <!--
    var RequiredFXVersion = "3.0.04131.06";
    
    function window::onload()
    {
      var foundVer = CheckRequiredFXVersion(RequiredFXVersion);
      if (foundVer != null)
      {
        result.innerHTML = "This computer has the correct version of the .NET Framework: " + foundVer + "." + "<br/>"
          + "This computer's userAgent string is: " + navigator.userAgent + ".";
      } 
      else
      {
        result.innerHTML = "This computer does not have the correct 
version of the .NET Framework.<br/>"
          + "<a href='https://msdn.microsoft.com/windowsvista/default.aspx'>Click here</a> "
          + "to get .NET Framework 3.0 now.<br>"
          + "This computer's userAgent string is: " + navigator.userAgent + ".";
      }
    }
    
    //
    // Retrieve available versions from the user agent string
    // and check if any of them match the required version.
    //
    function CheckRequiredFXVersion(requiredVersion)
    {
      var userAgentString = navigator.userAgent.match(/\.NET CLR[ .][0-9.]+/g);
      if (userAgentString != null)
      {
        var i;
        for (i = 0; i < userAgentString.length; ++i)
        {
          var ver = userAgentString[i].slice(9);
          if (CheckVersion(requiredVersion, ver))
            return ver;
        }
      }
      return null;
    }

    //
    // Check if a specific version satisfies the version requirement.
    //
    function CheckVersion(requiredVersion, ver)
    {
      requiredVersion = requiredVersion.split(".");
      ver = ver.split(".");
      
      // Major versions must match exactly.
      if (requiredVersion[0] != ver[0])
        return false;
      
      // Minor/build numbers must be at least the required version.
      var i;
      for (i = 1; i < requiredVersion.length && i < ver.length; i++)
      {
        if (new Number(ver[i]) < new Number(requiredVersion[i]))
          return false;
      }
      return true;
    }
    
    -->
    </script>
  </head>
  <body>
    <div id="result" />
  </body>
</html>

如果搜索字符串“.NET Framework 3.0”成功,将显示以下消息:

This computer has the correct version of the .NET Framework: 3.0.04131.06.

This computer's userAgent string is: 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).

否则,将显示以下消息:

This computer does not have the correct version of the .NET Framework.

单击此处 to get .NET Framework 3.0 now.

This computer's userAgent string is: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727).