.NET Framework 2.0 Redistributable Package Reference
Microsoft Corporation
March 2006
Applies to:
Microsoft .NET Framework 2.0
Summary: Applications and controls written for the .NET Framework version 2.0 require the .NET Framework Redistributable Package version 2.0 to be installed on the computer where the application or control runs. The .NET Framework redistributable package is available as a stand-alone executable file, Dotnetfx.exe. This document describes where to obtain Dotnetfx.exe, and how to use it to deploy .NET Framework applications. This document provides only a technical reference for Dotnetfx.exe, and specific information regarding manual installation of dotnetfx.exe, resulting error, and detection logic. For general information about deploying Dotnetfx.exe, see the .NET Framework 2.0 Deployment Guide. (9 printed pages)
Note If you choose to use the Dotnetfx.exe or redistribute it with an application created by you, you must have a valid licensed copy of the Microsoft .NET Framework SDK version 2.0 (or Visual Studio 2005) and any use or distribution of Dotnetfx.exe is subject to the terms of the end user license agreement you received with the Microsoft .NET Framework SDK version 2.0, or Visual Studio. If you do not have a validly licensed copy of the Microsoft .NET Framework SDK version 2.0, or Visual Studio, you are not authorized to use or distribute Dotnetfx.exe.
Introduction
Obtain the .NET Framework Redistributable Version 2.0 Package
Detecting Installed .NET Framework 2.0
Detecting Installed .NET Framework 2.0 Language Packs
Installation Command Syntax and Corresponding Log Files
Dotnetfx.exe Error Codes
Installing Localized Versions of Dotnetfx.exe
Minimum Configuration Requirements
The version 2.0 release of the Microsoft .NET Framework provides one redistributable installer that contains the common language runtime and Microsoft .NET Framework components that are necessary to run .NET Framework applications. The .NET Framework redistributable is available as a stand-alone executable file, Dotnetfx.exe. The .NET Framework requires a license agreement that gives you specific rights to redistribute Dotnetfx.exe. If you have previously installed Microsoft Visual Studio 2005, the .NET Framework SDK version 2.0 or downloaded Dotnetfx.exe from the Web, you have accepted the license agreement for Dotnetfx.exe. For the terms of the license agreement, see the Microsoft .NET Framework 2.0 Redistributable EULA.
You can manually launch and install Dotnetfx.exe on a computer, or it can be launched and installed as part of the setup program for a .NET Framework application. Note that administrator privileges are required to install Dotnetfx.exe. If you have previously installed the .NET Framework SDK version 2.0 or Microsoft Visual Studio 2005, you do not need to install Dotnetfx.exe.
There are minimum configuration requirements that must be met in order to install Dotnetfx.exe. For more information about software and hardware requirements and recommendations, see the Minimum Configuration Requirements.
You can download Dotnetfx.exe from MSDN Online or from the Microsoft Windows Update Web site.
Alternately, you can get the redistributable package on a Microsoft .NET Framework DVD. The redistributable packages for .NET Framework 2.0 are available on the DVD in the directory
<LANGUAGE_CODE>\Runtime\dotnetfx.exe
where <LANGUAGE_CODE> represents locale language, or from Disc 1 of the Microsoft Visual Studio 2005 in the \wcu\dotNetFramework directory.
If you need to have users install the .NET Framework from the Internet, do not post the .NET Framework Redistributable Package. Instead, direct users to the Microsoft Windows Update Web site.
The Setup.exe bootstrapper should use the following registry key to detect the .NET Framework version 2.0.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727
It then verifies the existence of the entry value:
Install (DWORD value = 1)
Note The same registry key will be checked for all versions of Dotnetfx.exe regardless of language. Therefore, if you want to display dialogs in a specific language you should use the corresponding version of Dotnetfx.exe. You do not need to make any changes to the settings.ini file when deciding which version of Dotnetfx.exe to use.
With the .NET Framework 2.0 and the J# redistributable package 2.0, a centralized registry hive is created during setup to indicate information about the versions of the .NET Framework and J# redistributable package installed on a machine.
Table 1 lists each of the products along with the registry values that can be checked to determine whether or not the product is installed on a given machine:
Table 1. .NET Framework Registry Locations
Product | Registry Value |
---|---|
.NET Framework Version 2.0 Redistributable | HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727
Install (DWORD value = 1) |
Chinese (Simplified) Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2052
Install (DWORD value = 1) |
Chinese (Traditional) Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1028
Install (DWORD value = 1) |
Czech Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1029
Install (DWORD value = 1) |
Danish Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1030
Install (DWORD value = 1) |
Dutch Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1043
Install (DWORD value = 1) |
Finnish Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1035
Install (DWORD value = 1) |
French Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1036
Install (DWORD value = 1) |
German Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1031
Install (DWORD value = 1) |
Greek Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1032
Install (DWORD value = 1) |
Italian Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1040
Install (DWORD value = 1) |
Japanese Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1041
Install (DWORD value = 1) |
Korean Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1042
Install (DWORD value = 1) |
Norwegian Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1044
Install (DWORD value = 1) |
Polish Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1045
Install (DWORD value = 1) |
Portuguese (Brazilian) Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1046
Install (DWORD value = 1) |
Portuguese (Portugal) Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\2070
Install (DWORD value = 1) |
Russian Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1049
Install (DWORD value = 1) |
Spanish Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\3082
Install (DWORD value = 1) |
Swedish Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1053
Install (DWORD value = 1) |
Turkish Language Pack | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727\1055
Install (DWORD value = 1) |
Table 2. Visual J# Registry Locations
Product | Registry Value |
---|---|
Visual J# Version 2.0 Redistributable | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727 |
Visual J# Chinese (Simplified) Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\2052
Install (DWORD value = 1) |
Visual J# Chinese (Traditional) Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\1028
Install (DWORD value = 1) |
Visual J# French Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\1036
Install (DWORD value = 1) |
Visual J# German Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\1031
Install (DWORD value = 1) |
Visual J# Italian Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\1040
Install (DWORD value = 1) |
Visual J# Japanese Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\1041
Install (DWORD value = 1) |
Visual J# Korean Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\1042
Install (DWORD value = 1) |
Visual J# Spanish Language Pack | HKEY_LOCAL_MACHINE\Software\Microsoft\Visual JSharp Setup\Redist\v2.0.50727\3082
Install (DWORD value = 1) |
Note In Table 2, the [LCID] portion of the key names represents a 4-digit number that is the language code for the language pack in question. For example, the language code for English is 1033 and the language code for Japanese is 1041.
Table 3. Command syntax and log files
Product | Command line syntax | Log file location |
---|---|---|
.NET Framework | dotnetfx.exe /c:"install " | %temp%\dd_netfx20*.txt |
.NET Framework Language Pack | langpack.exe /c:"install /l" | %temp%\dd_netfxLP20*.txt |
J# Redistributable Package | vjredist.exe /c:"install /l" | %temp%\dd_vjredist20*.txt |
J# Redistributable Package Language Pack | Vjredist-LP.exe /c:"install /l" | %temp%\dd_vjredistLP20*.txt |
The following is an example entry in dd_netfx20MSIxxxx.txt that indicates the return code from Windows Installer:
MSI (c) (90:9C): MainEngineThread is returning 0
Table 4 describes the errors returned by Dotnetfx.exe.
Table 4. Dotnetfx.exe errors
Error | Description |
---|---|
3010 | Reboot is required.
A computer reboot is required following the installation of the .NET Framework |
4096 | Improper usage/invalid parameters.
Either the syntax used to specify parameters to Dotnetfx.exe is incorrect, or the parameters are invalid. |
4097 | On Windows 2000, Windows XP or Windows Server 2003, need Administrator rights to (un)install.
You do not have the permissions required to install or uninstall this application. Please contact your administrator. |
4098 | Installation of Windows Installer components failed.
The Windows Installer installation failed. As a result, the installation of Dotnetfx.exe cannot proceed. |
4099 | Windows Installer is not installed properly on computer.
Due to the improper installation of Windows Installer, the installation of Dotnetfx.exe cannot proceed. |
4100 | CreateMutex failed.
A fatal error occurred and the installation of Dotnetfx.exe cannot proceed. |
4101 | Another instance of setup is already running.
If another instance of setup is running, it will be allowed to continue and the current installation cannot proceed. |
4102 | Cannot open MSI Database |
4103 | Cannot read from MSI Database |
4111 | Cannot get Temporary directory. |
4113 | Beta NDP components detected.
A beta version of the .NET Framework was detected on the computer. You must uninstall any beta versions before attempting to install Dotnetfx.exe. |
4115 | The length of the %temp% path is too long |
4116 | The length of the source path is too long |
4118 | Failed to create or write to the log file |
4119 | The Darwin service is hung and requires a reboot in order to continue |
4120 | An internal error occurred while trying to initialize the Darwin Service |
4121 | One or more prerequisites for this product is missing |
4122 | The product does not support installing on the detected operating system type |
8191 | Setup Failure—unknown reason.
A fatal error occurred. The installation of Dotnetfx.exe cannot proceed. |
8192 | Reboot is required |
Table 5. Langpack.exe errors
Error | Description |
---|---|
4096 | Improper usage/invalid parameters |
4097 | Windows Installer is not installed properly on machine |
4098 | Cannot open MSI Database |
4099 | Cannot read from MSI Database |
4100 | Source directory too long |
4352 | Initialization error—cannot be logged |
4355 | Temporary directory too long |
4356 | Cannot get temporary directory |
4357 | Cannot write to log |
8191 | Setup Failure—unknown reason |
During the installation of Dotnetfx.exe, Microsoft Windows Installer and the Windows operating system can also return errors. Table 6 describes the most common Windows Installer errors. For a complete list of Windows Installer errors, see the Windows Installer documentation.
Table 4. Windows Installer errors
Error | Description |
---|---|
1601 | The Windows Installer service could not be accessed. Contact your support personnel to verify that the Windows Installer service is properly registered. |
1602 | User cancelled installation.
The user clicked the Cancel button in the user interface. Installation cannot proceed. |
1603 | Fatal error during installation.
A fatal error occurred during the installation of Windows Installer. The installation of Dotnetfx.exe cannot proceed. |
1604 | Installation suspended, incomplete. |
1613 | This installation package cannot be installed by the Windows Installer service. You must install a Windows service pack that contains a newer version of the Windows Installer service. |
1618 | Another installation is already in progress. Complete that installation before proceeding with this install. |
1621 | There was an error starting the Windows Installer service user interface. Contact your support personnel. |
1622 | Error opening installation log file. Verify that the specified log file location exists and is writable.
This error is more likely to occur during uninstallation when either there is no disk space or the Windows Installer log is enabled. This error can occur during installation if sufficient space does not exist to write to the Windows Installer log, or if the log is read-only. |
1623 | This language of this installation package is not supported by your system. |
1625 | This installation is forbidden by system policy. Contact your system administrator. |
1631 | The Windows Installer service failed to start. Contact your support personnel. |
1632 | The temp folder is either full or inaccessible. Verify that the temp folder exists and that you can write to it. |
1633 | This installation package is not supported on this platform. Contact your application vendor. |
1638 | Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel. |
1640 | Installation from a Terminal Server client session not permitted for current user. |
Microsoft .NET Framework 2.0 has been localized into many languages. For additional information, see Installing Localized Versions of the .NET Framework 2.0.
For information on minimum and recommended platform requirements see the .NET Framework 2.0 Redistributable Prerequisites in the .NET Framework Deployment Guide.