Deploying Microsoft .NET Framework Version 3.0
Annie Wang
Microsoft Corporation
June 2006
Applies to
Microsoft .NET Framework version 3.0 (formerly known as WinFX)
Microsoft .NET Framework 2.0
Microsoft Windows Vista
Summary: The Microsoft .NET Framework 3.0 (formerly known as WinFX), is the new managed-code programming model for Windows. Applications written for the .NET Framework 3.0 require the .NET Framework 3.0 to be installed on the computer where the application runs. This article briefly describes .NET Framework 3.0 and its relationship to earlier versions of the .NET Framework, provides information on installing and deploying the Framework, and describes how to detect whether the .NET Framework 3.0 is installed. (18 printed pages)
Contents
Introduction
About Microsoft .NET Framework 3.0
How .NET Framework 3.0 Relates to .NET Framework 2.0 and Earlier
Servicing Policy for the .NET Framework 3.0
Roadmap for Future .NET Framework Releases
Installing the .NET Framework 3.0
Version Numbers for .NET Framework Assemblies
Deploying .NET Framework 3.0
Software Requirements
Hardware Requirements
Redistribution Rights for the .NET Framework
IT Administrator Tools for Deploying the .NET Framework 3.0
Redistributing the .NET Framework with Your Application
Detecting .NET Framework 3.0 and Earlier Releases
Reading a Registry Key
Reading the User-Agent String in Internet Explorer
Command Line Options for the .NET Framework 3.0 Redistributable
Error Codes for the .NET Framework 3.0 Redistributable
Appendix A: Detecting .NET Framework Language Packs
Appendix B: Sample Script for Detecting the .NET Framework 3.0 Using Internet Explorer
Introduction
This section provides an overview of the .NET Framework 3.0.
About Microsoft .NET Framework 3.0
The Microsoft .NET Framework version 3.0 (formerly known as WinFX) is the new managed-code programming model for Windows. It combines the power of .NET Framework 2.0 with new technologies for building applications that have a visually compelling user experience, seamless communication across technology boundaries, and support for a wide range of business processes. Microsoft plans to ship .NET Framework 3.0 as part of Windows Vista. At the same time, Microsoft will make .NET Framework available for Windows XP Service Pack 2 and Windows Server 2003 Service Pack 1.
The following table lists some of the technologies included with .NET Framework 3.0.
Technology | Description |
---|---|
Windows Presentation Foundation (WPF, formerly code-named "Avalon") | Provides classes for building next-generation smart-client applications that combine UI, documents, and media. |
Windows Communication Foundation (WCF, formerly code-named "Indigo") | Offers a unified programming model and runtime for building service-oriented applications. |
Windows Workflow Foundation (WF) | Offers a programming model, engine, and tools to build workflow-enabled applications that model business processes. |
Windows CardSpace (formerly code-named "InfoCard") | Provides a technology for simplifying and improving the safety of working online with personal identity information. |
Microsoft .NET Framework 2.0 | Enables productively building Windows and Web-based applications. |
All of the classes that represent the new components (WPF, WF, WCF, and CardSpace) are part of the System namespace. The core classes of the .NET platform, such as the common language runtime (CLR) and base class libraries (BCL) remain as they are in .NET Framework 2.0.
The following diagram illustrates the structure of .NET Framework 3.0.
Figure 1. .NET Framework 3.0
How .NET Framework 3.0 Relates to .NET Framework 2.0 and Earlier
The .NET Framework 3.0 adds new technologies to the .NET Framework 2.0, which makes the .NET Framework 3.0 a superset of the .NET Framework 2.0. You can think of .NET Framework 3.0 as an "additive" release to the .NET Framework 2.0, as contrasted with a generational release where software is revised across the board. (For example, the .NET Framework 2.0 was a generational release over the .NET Framework 1.0.)
Because .NET Framework 3.0 is an additive release and uses the core run-time components from .NET Framework 2.0, it is completely backward compatible with the earlier version. Your existing .NET Framework 2.0 based-applications will continue to run without any modifications and you can safely continue your investments using the technologies that shipped with .NET Framework 2.0.
If you are moving to .NET Framework 3.0 from .NET Framework 1.1 or 1.0, you should perform impact analysis and run compatibility testing prior to deployment. While we have worked to make .NET Framework releases compatible, there are a small number of known incompatibles due to security and significant functionality additions. For more information, see the page Breaking Changes in .NET Framework 2.0 on the Microsoft .NET Developer Center Web site.
Servicing Policy for the .NET Framework 3.0
Microsoft will continue to service .NET Framework 2.0 release in accordance with the standard support policy for the platforms it is supported on. Users who currently rely on .NET Framework 2.0 have the option of remaining on that version of the .NET Framework and receiving software updates as they become available.
Any component that ships as part of .NET Framework 3.0 will be serviced on the platforms it is supported on. For more information, see the Software Update Technology page on the Microsoft Visual Studio Developer Center Web site.
Roadmap for Future .NET Framework Releases
In general, any new version of the .NET Framework is designed to provide backward compatibility with the previous version. If a new release introduces breaking changes due to security issues or other reasons, Microsoft will enable you to install the new release side by side with the existing version.
For more information about future releases of the .NET Framework, see the Microsoft .NET Framework Developer Center Web site.
Installing the .NET Framework 3.0
The .NET Framework 3.0 is installed by default on Microsoft Windows Vista. On Microsoft Windows Server code-named "Longhorn", you can install the .NET Framework as a Windows Feature using Roles Management tools.
On Windows XP and Windows Server 2003, installing .NET Framework 3.0 also adds any .NET Framework 2.0 components that are not already installed. If .NET Framework 2.0 is already installed, the .NET Framework 3.0 installer adds only the files for Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF), and Windows CardSpace.
Components shared with .NET Framework 2.0 are installed in the following location:
%windir%\Microsoft.NET\Framework\V2.0.50727
Components that are new to .NET Framework 3.0 are installed in the following location:
%windir%\Microsoft.NET\Framework\V3.0
All components of the .NET Framework 3.0 reference assemblies are installed in the following location:
%programfiles%\Reference Assemblies\Microsoft\Framework\v3.0
Uninstalling .NET Framework 3.0 will not remove the components shared with .NET Framework 2.0. To remove those components, you must first uninstall .NET Framework 3.0 and then separately uninstall .NET Framework 2.0. (You can uninstall the .NET Framework using the Add or Remove Programs item in Windows Control Panel.)
Version Numbers for .NET Framework Assemblies
The .NET Framework 3.0 shares many components with .NET Framework 2.0, and the common language runtime (CLR) and base class libraries are the same as those in .NET Framework 2.0. Therefore, these shared components stay at version 2.0. The version number 3.0 applies to all runtime and reference assemblies for Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), and Windows CardSpace.
Deploying .NET Framework 3.0
This section provides information about deploying the .NET Framework 3.0 for use with your applications.
Software Requirements
To install .NET Framework 3.0, you must have one of the following operating systems installed on the target computer:
- Microsoft Windows XP Home or Microsoft Windows XP Home Professional, with Service Pack 2 or later.
- Microsoft Windows Server 2003 family with Service Pack 1 or later.
Note .NET Framework 2.0 continues to be supported on its target platforms. For more information, see the .NET Framework 2.0 Redistributable Prerequisites page on the MSDN Web site.
.NET Framework 3.0 is installed by default with Microsoft Windows Vista. On Microsoft Windows Server "Longhorn", the .NET Framework 3.0 is a Windows feature that can be installed using Roles Management tools.
Note Microsoft Windows Server "Longhorn" IA64 Edition is the only IA64 platform that the .NET Framework 3.0 supports.
Hardware Requirements
The following table lists the hardware requirements for running .NET Framework 3.0.
CPU required | RAM required | |
---|---|---|
Minimum | Pentium 400 MHz | 96 MB |
Recommended | Pentium 1 GHz or higher | 256 MB or more |
Redistribution Rights for the .NET Framework
Microsoft strongly supports customers in deploying the .NET Framework within their organizations and as part of their software solutions. Distributing the .NET Framework 3.0 runtime requires you to accept license terms. For information about redistributing the .NET Framework 3.0 with your application or to a third party, review the page The ISV Guide for Redistributing the .NET Framework and Other Runtime Components page on the MSDN Web site.
Note The redistributable right is reserved only for the official released version of the Microsoft .NET Framework 3.0. You may not redistribute the pre-released version of Microsoft .NET Framework 3.0 with your application.
IT Administrator Tools for Deploying the .NET Framework 3.0
The .NET Framework 3.0 offers two ways for IT administrators to deploy to field clients: administrator-mode setup and Active Directory deployment.
Administrator-mode Setup
Administrator-mode setup enables IT administrators to deploy the .NET Framework through Microsoft Systems Management Server (SMS) or other software distribution tools. The IT administrator runs the Framework setup in silent mode. If errors occur, setup quits silently and logs an error code.
Active Directory Deployment
In Active Directory deployment, the administrator must add individual .msi files from the .NET Framework 3.0 installation package into the group policy in the order in which the .msi files should be deployed. After the group policy is enabled, any clients that are part of this group policy will automatically install the components when they boot and reconnect to the network. If errors occur, setup quits silently and logs an error code.
For more information about administrative deployment instructions, see the Administrators Deployment Guide Web page.
Redistributing the .NET Framework with Your Application
The .NET Framework 3.0 redistributable package is available as a stand-alone executable file. The name of the file depends on the type of targeted platform. For 32-bit platforms, the file is named Dotnetfx3.exe. For 64-bit platforms, the file is named Dotnetfx3_x64.exe. You can also deploy a small redistributable package named Dotnet3setup.exe that downloads the required components during setup.
When you distribute the .NET Framework 3.0 redistributable package with your application, you must agree to the license terms, which give you specific distribution rights.
You can manually launch and install the redistributable on a computer, or it can be launched and installed as part of the setup program for a .NET Framework 3.0 application.
Note Administrator privileges are required to install the .NET Framework 3.0.
For more information, see the Microsoft .NET Framework 3.0 Deployment Guide Web page.
Detecting .NET Framework 3.0 and Earlier Releases
You can detect if the .NET Framework 3.0 is installed by reading a registry key and by querying the user-agent string in Internet Explorer.
Reading a Registry Key
You can look for a specified registry key value to detect whether the .NET Framework is installed on a computer. The following table lists the registry keys and values that you can test to determine whether specific versions of the .NET Framework are installed.
Version | Registry Key Name | Value |
---|---|---|
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 | 3705 (REG_SZ value = 3321-3705) |
Note For more information about detecting previously released service packs for .NET Framework 1.0 and 1.1 , see article 318785, "How to determine which versions of the .NET Framework are installed and whether service packs have been applied" in the Microsoft Knowledge Base.
Reading the User-Agent String in Internet Explorer
For browser-based applications, you can detect whether the .NET Framework 3.0 is installed on a computer by examining the user-agent string using Internet Explorer running on that computer. This will contain the substring "NET CLR" followed by the major and minor version numbers. A sample user-agent string looks like the following:
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)
Appendix B: Sample Script for Detecting the .NET Framework 3.0 Using Internet Explorer lists a sample JavaScript program that runs in a browser and displays information about the current .NET Framework version number.
The user-agent string that is sent in browser headers is stored in the registry of the server computer, as listed in the following table.
Version | Registry Key |
---|---|
3.0 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR.3.0.04131.06
|
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 |
Command Line Options for the .NET Framework 3.0 Redistributable
The following table lists options that you can include when you run the .NET Framework 3.0 Redistributable installation program (Dotnetfx3.exe, Dotnetfx3_x64.exe, or Dotnet3setup.exe) from the command line.
Option | Description |
---|---|
|
Suppresses all UI. An .INI file cannot be specified with this option. |
|
Same as /q . |
|
Displays minimal UI, showing only progress. |
|
Same as /qb . |
|
Uninstalls product. |
|
Same as /uninstall . |
|
Repairs all .NET Framework 3.0 components that are installed. |
|
Specifies that patches are not applied and bypasses patch checking. |
|
Specifies that setup is not rolled back if a setup component fails. |
|
Specifies that the installer does not restart the computer after installation completes. The Redistributable installer returns ERROR_SUCCESS_REBOOT_REQUIRED (3010) if a reboot is required. |
|
Displays this list of options. |
Error Codes for the .NET Framework 3.0 Redistributable
The following table lists error codes that can be returned by the .NET Framework 3.0 Redistributable installation program (Dotnetfx3.exe, Dotnetfx3_x64.exe, or Dotnet3setup.exe). The error codes are the same for all versions of the installer.
Error Code | Value | Description |
---|---|---|
|
0 | The action completed successfully. |
|
1602 | User canceled installation. |
|
1603 | A fatal error occurred during installation. |
|
1605 | This action is valid only for products that are currently installed. |
|
1636 | The patch package could not be opened or the patch was not applicable to .NET Framework 3.0. |
|
1639 | Invalid command line argument. |
|
1641 | The installer has initiated a restart. This indicates success, and setup will continue after restart. (The reboot is not performed if the /norestart option was specified.) |
|
1643 | The patch package is not permitted by system policy. |
|
3010 | A restart is required to complete the installation. This message indicates success. |
Appendix A: Detecting .NET Framework Language Packs
The following table lists the registry values you can read to detect whether a .NET Framework language pack is installed on a computer. For more information on how to detect localized version of the .NET Framework 1.0, see the page .NET Framework Redistributable Package Technical Reference on the MSDN Web site.
Product | Registry Value |
---|---|
Chinese (Simplified) Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2052 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2052 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\2052 InstallSuccess(DWORD value = 1) |
Chinese (Traditional) Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1028 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1028 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1028 InstallSuccess(DWORD value = 1) |
Czech Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1029 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1029 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1029 InstallSuccess(DWORD value = 1) |
Danish Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1030 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1030 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1030 InstallSuccess(DWORD value = 1) |
Dutch Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1043 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1043 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1043 InstallSuccess(DWORD value = 1) |
Finnish Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1035 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1035 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1035 InstallSuccess(DWORD value = 1) |
French Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1036 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1036 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1036 InstallSuccess (DWORD value = 1) |
German Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1031 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1031 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1031 InstallSuccess(DWORD value = 1) |
Greek Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1032 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1032 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1032 InstallSuccess(DWORD value = 1) |
Italian Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1040 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1040 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1040 InstallSuccess(DWORD value = 1) |
Japanese Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1041 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1041 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1041 InstallSuccess(DWORD value = 1) |
Korean Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1042 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1042 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1042 InstallSuccess(DWORD value = 1) |
Norwegian Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1044 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1044 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1044 InstallSuccess(DWORD value = 1) |
Polish Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1045 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1045 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1045 InstallSuccess(DWORD value = 1) |
Portuguese (Brazilian) Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1046 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1046 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1046 InstallSuccess(DWORD value = 1) |
Portuguese (Portugal) Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\2070 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2070 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\2070 InstallSuccess(DWORD value = 1) |
Russian Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1049 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1049 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1049 InstallSuccess(DWORD value = 1) |
Spanish Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\3082 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\3082 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\3082 InstallSuccess(DWORD value = 1) |
Swedish Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1053 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1053 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1053 InstallSuccess(DWORD value = 1) |
Turkish Language Pack | Version 1.1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322\1055 Version 2.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1055 Install (DWORD value = 1) Version 3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\1055 InstallSuccess(DWORD value = 1) |
Appendix B: Sample Script for Detecting the .NET Framework 3.0 Using Internet Explorer
The following example shows a JavaScript program that runs in a browser detects whether .NET Framework 3.0 is running. The script searches the user-agent string and displays a status message based on the results of the search.
<!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>
If the search for the string ".NET Framework 3.0" version is successful, the following message appears:
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).
Otherwise, the following message appears:
This computer does not have the correct version of the .NET Framework.
Click here 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).