您的位置:首页 > 职场人生

部署Microsoft .NET Framework 3.0[翻译]

2006-07-01 10:51 453 查看
une2006
适用于
Microsoft.NETFramework3.0版(以前叫做WinFX)
Microsoft.NETFramework2.0
MicrosoftWindowsVista
英文原文:http://msdn.microsoft.com/winfx/default.aspx?pull=/library/en-us/dnlong/html/netfx30.asp
摘要:
Microsoft.NETFramework3.0版(以前叫做WinFX),是托管代码的Windows编程模型。使用.NETFramework3.0编写的应用程序要求运行的电脑上安装Microsoft.NETFramework3.0。本文简要说明Microsoft.NETFramework3.0和以前版本的关系。提供安装和部署的信息并且描述了如何检测是否安装了Microsoft.NETFramework3.0
内容:
介绍
关于Microsoft.NETFramework3.0
Microsoft.NETFramework3.0和早期版本的关系
Microsoft.NETFramework3.0的服务策略
Microsoft.NETFramework的未来路线图
安装Microsoft.NETFramework3.0
.NETFramework程序集的版本号
部署Microsoft.NETFramework3.0
软件需求
硬件需求
再分发Microsoft.NETFramework的权利
Microsoft.NETFramework3.0部署工具
在你的程序中分发Microsoft.NETFramework3.0
检测Microsoft.NETFramework3.0和早期版本
读取注册表键值
IE浏览器读取的User-agent字符串
Microsoft.NETFramework3.0分发的命令行选项
分发Microsoft.NETFramework3.0的错误代码
附录1:分发Microsoft.NETFramework语言包
附录2:使用IE浏览器检测Microsoft.NETFramework3.0的脚本

介绍
本节概述了Microsoft.NETFramework3.0
关于Microsoft.NETFramework3.0
Microsoft.NETFramework3.0版(以前叫做WinFX),是托管代码的Windows编程模型。它包含了Microsoft.NETFramework2.0,提供了构建更好用户体验和天衣无缝的沟通并支持广泛业务过程的新技术。微软计划将.NETFramework3.0作为WindowsVista的一部分发布。同时.NETFramework3.0支持WindowsXPServicePack2和WindowsServer2003ServicePack1。
下表中列出.NETFramework3.0技术特性
技术说明
WindowsPresentationFoundation(WPF,以前代码叫“Avalon”)提供了构建新一代的智能客户端所需要的UI,文档以及媒体
WindowsCommunicationFoundation(WCF,以前代号叫做"Indigo")为构建面向服务的应用程序提供了一个统一的编程模型和运行时
WindowsWorkflowFoundation(WF)为工作流驱动业务流程的应用提供了编程模型,引擎和工具。
WindowsCardSpace(以前代号叫做"InfoCard")提供了一种简化和改进安全的在线个人标识技术
Microsoft.NETFramework2.0构建Windows和Web应用
代表新组件(WPF,WF,WCF以及CardSpace)的所有类都是System命名空间的一部分。.NET平台的核心类,例如公共语言运行时(CLR)和基础类库(BCL)还是在.NETFramework2.0中

Microsoft.NETFramework3.0和早期版本的关系
.NETFramework3.0是在.NETFramework2.0上添加了新的技术,这使得.NETFramework3.0是.NETFramework2.0的一个超集,你可能想到的.NETFramework3.0是.NETFramework2.0的添加剂。可以认为是一个以发行软件的一个全面修订(例如,.NETFramework2.0是在.NETFramework1.0之后发布)。
由于.NETFramework3.0是.NETFramework2.0的附加版本并使用.NETFramework2.0的核心组件,它也是完全符合先后关系。使用.NETFramework2.0构建的应用程序并不需要做任何修改就可以运行在.NETFramework3.0上,你可以放心的继续投资用.NETFramework2.0构建应用程序。
如果你是从.NETFramework1.0或者1.1移植到.NETFramework3.0。应当在部署之前做应用的影响分析和兼容性测试。我们为.NETFramework版本的兼容性作了大量的工作。由于有一些附加的的功能性和安全性原因有一些已知的不相容的地方。更多的信息,请参看微软.NET开发中心网站BreakingChangesin.NETFramework2.0。

Microsoft.NETFramework3.0的服务策略
微软继续按照.NET Framework2.0发布的政策支持平台。用户目前所用的.NETFramework2.0可以继续保留,当新版本可以的时候就可以获得最新的软件。随.NETFramework3.0发布的任何组件都可以获得平台的支持。更多的信息请参看微软的VisualStudio开发者中心网站的SoftwareUpdateTechnology。

Microsoft.NETFramework的未来路线图
一般.NETFramework的新版本都会提供与先前版本兼容,如果由于安全问题或者其他的原因在新的版本中打破,微软将使你和现行版本一起安装
。关于新版本的更多的信息,请参看微软.NETFramework开发中心网站Microsoft.NETFrameworkDeveloperCenter

安装.NETFramework3.0
.NET Framework3.0作为WindowsVista的一部分安装。在代号为“Longhorn”的Windows服务器,你可以使用管理工具来安装.NETFramework3.0。在WindowsXP和WindowsServer2003和安装.NETFramework2.0一样安装.NETFramework3.0。如果你已经安装了.NETFramework2.0,你只需要安装WindowsPresentationFoundation(WPF),WindowsWorkflowFoundation(WF),WindowsCommunicationFoundation(WCF),和WindowsCardSpace需要的文件。
.NETFramework2.0的组件安装在如下的位置
%WINDIR%\Microsoft.NET\Framework\v2.0.50727
新的.NETFramework3.0的组件安装在新的位置
%WINDIR%\Microsoft.NET\Framework\v3.0
所有的.NETFramework3.0引用的程序集安装在下面的位置
%programfiles%\ReferenceAssemblies\Microsoft\Framework\v3.0
卸载.NETFramework3.0不会卸载.NETFramework2.0的公共组件,要卸载这些组件,你必须先卸载.NETFramework3.0然后卸载.NETFramework2.0(可以通过控制面板的添加/删除应用程序来卸载.NETFramework).

.NETFramework程序集的版本号
.NETFramework3.0和.NETFramework2.0使用许多相同的组件,公共语言运行时(CLR)和基础类库(BCL)都是和.NETFramework2.0一样的。所以这些组件的版本号还是2.0的。WindowsPresentationFoundation(WPF),WindowsWorkflowFoundation(WF),WindowsCommunicationFoundation(WCF),和WindowsCardSpace的运行和的引用的程序集是3.0。

部署.NETFramework3.0
本节提供了如何在你的应用程序中部署.NETFramework3.0的信息
软件要求
要安装.NETFramework3.0,必须在你的计算机上安装以下操作系统:
n打了ServicePack2以上MicrosoftWindowsXPHome或者MicrosoftWindowsXPHomeProfessional.
n打了ServicePack1以上的MicrosoftWindowsServer2003family.
说明:.NETFramework2.0仍然在他的目标平台上得到支持的,更多的信息请参看MSDN网站的.NETFramework2.0RedistributablePrerequisites
MicrosoftWindowsVista上默认安装了.NETFramework3.0.在MicrosoftWindowsServer“Longhorn”,可以通过管理工具安装。

说明:MicrosoftWindowsServer“Longhorn”IA64版本是唯一支持.NETFramework3.0的平台
硬件要求:
下面列表中是安装.NETFramework3.0的硬件要求
CPU要求内存要求
最低奔腾400MHz96M
推荐Pentium1GHz以上256M以上
再分发Microsoft.NETFramework的权利
微软强烈推荐用户部署.NETFramework3.0到组织内,作为自己的软件解决方案,分发.NETFramework3.0要求你接受.NETFramework3.0的许可证。在你的程序中将.NETFramework3.0作为第三方组件进行分发的更多,参看MSDN网站的页面TheISVGuideforRedistributingthe.NETFrameworkandOtherRuntimeComponents

说明再分发的保留权利是指微软发布.NETFramework3.0,如果你的程序使用的是.NETFramework3.0,你不需要重新分发微软的.NETFramework3.0之前的版本。

Microsoft.NETFramework3.0部署工具
.NETFramework3.0为系统管理员提供了两种方式部署到客户端:管理员模式安装和通过活动目录部署。
管理员模式安装
管理员安装模式使得管理员可以通过网络服务器(SMS)或者其他的软件分发工具。管理员通过工具自动安装程序,如果发生错误,安装程序会自动退出并记录错误代码。
活动目录分发
活动目录模式下,管理员必须在组策略中设定.NETFramework3.0的安装包(.msi文件)将要安装到的位置。然后启用组策略。任何在这个组策略中的客户点将会它们启动并连接到网络的时候自动安装,如果发生错误,安装程序会自动退出并记录错误代码。

在你的程序中分发Microsoft.NETFramework3.0
.NETFramework3.0在分发程序包是一个可单独运行的可执行文件,它的名字和他的目标平台相关,例如:32位的平台上,名字叫做Dotnetfx3.exe
.64位平台上的名字叫做Dotnetfx3_x64.exe.你也可以分发一个更小的分发包叫做Dotnet3setup.exe,它只是下载了安装期间必须的组件。
当你在你的程序中再分发.NETFramework3.0,你必须同意许可证,这是你的分发权利。
你可以手工安装.NETFramework3.0到你的计算机,或者作为安装程序的一部分在安装.NETFramework3.0的应用程序的时候安装。
说明在安装.NETFramework3.0的时候要求有系统管理员权限

检测Microsoft.NETFramework3.0和早期版本
你可以通过读注册表和在浏览器中通过脚本来检测是否安装了.NETFramework3.0

读注册表
通过一个指定的注册表值来检测.NETFramework是否在机器上安装,下面列出各个版本的.NETFramework的注册表值
[align=left]版本[/align][align=left]注册表键[/align][align=left][/align]
[align=left]3.0[/align][align=left]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup[/align][align=left]InstallSuccess(DWORDvalue=1)[/align]
[align=left]2.0[/align][align=left]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727[/align][align=left]Install(DWORDvalue=1)[/align]
[align=left]1.1[/align][align=left]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322[/align][align=left]Install(DWORDvalue=1)[/align]
[align=left]1.0[/align][align=left]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0[/align][align=left]Install(DWORDvalue=1)[/align]
说明:关于检测版本1.0和1.1的补丁包的更详细信息参考微软知识库中文章318785,"Howtodeterminewhichversionsofthe.NETFrameworkareinstalledandwhetherservicepackshavebeenapplied"

IE浏览器读取的User-agent字符串
Web应用程序,可以通过检测计算机上所运行的IE浏览器来判断是否在机器上安装了.NETFramework3.0.user-agent字符串中会包含"NETCLR"的版本号.user-agent像下面这样:
Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1;.NETCLR1.1.4322;
.NETCLR2.0.50727;.NETCLR3.0.04131.06)

附录B:使用IE浏览器检测Microsoft.NETFramework3.0的脚本列举了一个使用JavaScript脚本检测当前的.NETFramework版本号的例子。浏览器的头部的User-agent字符串存储在服务器的注册表中。下表列出各个版本版本号的注册表键值
版本注册表键值
3.0HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\5.0\UserAgent\PostPlatform\.NETCLR.3.0.04131.06
NoteThebuildnumber(
04131.06
intheexample)willchangeforthefinalreleaseof.NETFramework3.0.
2.0HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\5.0\UserAgent\PostPlatform\.NETCLR2.0.50727
1.1HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\InternetSettings\5.0\UserAgent\PostPlatform\.NETCLR1.1.4322

再分发the.NETFramework3.0的命令行参数

下表中列出从命令行中运行.NETFramework3.0的再分发安装程序(Dotnetfx3.exe,Dotnetfx3_x64.exe,orDotnet3setup.exe)的命令行参数
参数描述
/q
SuppressesallUI.An.INIfilecannotbespecifiedwiththisoption.
/quiet
Sameas
/q
.
/qb
DisplaysminimalUI,showingonlyprogress.
/passive
Sameas
/qb
.
/uninstall
Uninstallsproduct.
/remove
Sameas
/uninstall
.
/f
Repairsall.NETFramework3.0componentsthatareinstalled.
/nopatch
Specifiesthatpatchesarenotappliedandbypassespatchchecking.
/norollback
Specifiesthatsetupisnotrolledbackifasetupcomponentfails.
/norestart
Specifiesthattheinstallerdoesnotrestartthecomputerafterinstallationcompletes.TheRedistributableinstallerreturnsERROR_SUCCESS_REBOOT_REQUIRED(3010)ifarebootisrequired.
/?
Displaysthislistofoptions.

ErrorCodesforthe.NETFramework3.0Redistributable

Thefollowingtablelistserrorcodesthatcanbereturnedbythe.NETFramework3.0Redistributableinstallationprogram(Dotnetfx3.exe,Dotnetfx3_x64.exe,orDotnet3setup.exe).Theerrorcodesarethesameforallversionsoftheinstaller.
ErrorCodeValueDescription
ERROR_SUCCESS
0Theactioncompletedsuccessfully.
ERROR_INSTALL_USEREXIT
1602Usercanceledinstallation.
ERROR_INSTALL_FAILURE
1603Afatalerroroccurredduringinstallation.
ERROR_UNKNOWN_PRODUCT
1605Thisactionisvalidonlyforproductsthatarecurrentlyinstalled.
ERROR_PATCH_PACKAGE_INVALID
1636Thepatchpackagecouldnotbeopenedorthepatchwasnotapplicableto.NETFramework3.0.
ERROR_INVALID_COMMAND_LINE
1639Invalidcommandlineargument.
ERROR_SUCCESS_REBOOT_INITIATED
1641Theinstallerhasinitiatedarestart.Thisindicatessuccess,andsetupwillcontinueafterrestart.(Therebootisnotperformedifthe
/norestart
optionwasspecified.)
ERROR_PATCH_PACKAGE_REJECTED
1643Thepatchpackageisnotpermittedbysystempolicy.
ERROR_SUCCESS_REBOOT_REQUIRED
3010Arestartisrequiredtocompletetheinstallation.Thismessageindicatessuccess.

AppendixA:Detecting.NETFrameworkLanguagePacks

Thefollowingtableliststheregistryvaluesyoucanreadtodetectwhethera.NETFrameworklanguagepackisinstalledonacomputer.Formoreinformationonhowtodetectlocalizedversionofthe.NETFramework1.0,seethepage.NETFrameworkRedistributablePackageTechnicalReferenceontheMSDNWebsite.
ProductRegistryValue
Chinese(Simplified)LanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\2052
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\2052
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\2052
InstallSuccess(DWORDvalue=1)
Chinese(Traditional)LanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1028
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1028
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1028
InstallSuccess(DWORDvalue=1)
CzechLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1029
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1029
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1029
InstallSuccess(DWORDvalue=1)
DanishLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1030
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1030
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1030
InstallSuccess(DWORDvalue=1)
DutchLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1043
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1043
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1043
InstallSuccess(DWORDvalue=1)
FinnishLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1035
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1035
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1035
InstallSuccess(DWORDvalue=1)
FrenchLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1036
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1036
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1036
InstallSuccess(DWORDvalue=1)
GermanLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1031
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1031
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1031
InstallSuccess(DWORDvalue=1)
GreekLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1032
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1032
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1032
InstallSuccess(DWORDvalue=1)
ItalianLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1040
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1040
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1040
InstallSuccess(DWORDvalue=1)
JapaneseLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1041
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1041
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1041
InstallSuccess(DWORDvalue=1)
KoreanLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1042
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1042
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1042
InstallSuccess(DWORDvalue=1)
NorwegianLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1044
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1044
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1044
InstallSuccess(DWORDvalue=1)
PolishLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1045
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1045
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1045
InstallSuccess(DWORDvalue=1)
Portuguese(Brazilian)LanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1046
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1046
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1046
InstallSuccess(DWORDvalue=1)
Portuguese(Portugal)LanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\2070
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\2070
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\2070
InstallSuccess(DWORDvalue=1)
RussianLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1049
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1049
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1049
InstallSuccess(DWORDvalue=1)
SpanishLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\3082
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\3082
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\3082
InstallSuccess(DWORDvalue=1)
SwedishLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1053
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1053
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1053
InstallSuccess(DWORDvalue=1)
TurkishLanguagePackVersion1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v1.1.4322\1055
Version2.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v2.0.50727\1055
Install(DWORDvalue=1)
Version3.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NETFrameworkSetup\NDP\v3.0\Setup\1055
InstallSuccess(DWORDvalue=1)

AppendixB:SampleScriptforDetectingthe.NETFramework3.0UsingInternetExplorer

ThefollowingexampleshowsaJavaScriptprogramthatrunsinabrowserdetectswhether.NETFramework3.0isrunning.Thescriptsearchestheuser-agentstringanddisplaysastatusmessagebasedontheresultsofthesearch.
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TestforNETFramework3.0</title>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<scripttype="text/javascript"language="JavaScript">
<!--
varRequiredFXVersion="3.0.04131.06";
functionwindow::onload()
{
varfoundVer=CheckRequiredFXVersion(RequiredFXVersion);
if(foundVer!=null)
{
result.innerHTML="Thiscomputerhasthecorrectversionofthe.NETFramework:"+foundVer+"."+"<br/>"
+"Thiscomputer'suserAgentstringis:"+navigator.userAgent+".";
}
else
{
result.innerHTML="Thiscomputerdoesnothavethecorrectversionofthe.NETFramework.<br/>"
+"<ahref='http://msdn.microsoft.com/windowsvista/default.aspx'>Clickhere</a>"
+"toget.NETFramework3.0now.<br>"
+"Thiscomputer'suserAgentstringis:"+navigator.userAgent+".";
}
}
//
//Retrieveavailableversionsfromtheuseragentstring
//andcheckifanyofthemmatchtherequiredversion.
//
functionCheckRequiredFXVersion(requiredVersion)
{
varuserAgentString=navigator.userAgent.match(/\.NETCLR[.][0-9.]+/g);
if(userAgentString!=null)
{
vari;
for(i=0;i<userAgentString.length;++i)
{
varver=userAgentString[i].slice(9);
if(CheckVersion(requiredVersion,ver))
returnver;
}
}
returnnull;
}
//
//Checkifaspecificversionsatisfiestheversionrequirement.
//
functionCheckVersion(requiredVersion,ver)
{
requiredVersion=requiredVersion.split(".");
ver=ver.split(".");
//Majorversionsmustmatchexactly.
if(requiredVersion[0]!=ver[0])
returnfalse;
//Minor/buildnumbersmustbeatleasttherequiredversion.
vari;
for(i=1;i<requiredVersion.length&&i<ver.length;i++)
{
if(newNumber(ver[i])<newNumber(requiredVersion[i]))
returnfalse;
}
returntrue;
}
-->
</script>
</head>
<body>
<divid="result"/>
</body>
</html>

Ifthesearchforthestring".NETFramework3.0"versionissuccessful,thefollowingmessageappears:
Thiscomputerhasthecorrectversionofthe.NETFramework:3.0.04131.06.

Thiscomputer'suserAgentstringis:Mozilla/4.0(compatible;MSIE6.0;

WindowsNT5.1;SV1;.NETCLR1.1.4322;.NETCLR2.0.50727;.NETCLR3.0.04131.06).

Otherwise,thefollowingmessageappears:
Thiscomputerdoesnothavethecorrectversionofthe.NETFramework.

Clickhere
toget.NETFramework3.0now.

Thiscomputer'suserAgentstringis:Mozilla/4.0(compatible;MSIE6.0;

WindowsNT5.1;SV1;.NETCLR1.1.4322;InfoPath.1;.NETCLR2.0.50727).

自由、创新、研究、探索……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息