.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.

Contents

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

Introduction

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.

Obtain the .NET Framework Redistributable Version 2.0 Package

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.

Detecting Installed .NET Framework 2.0

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.

Detecting Installed .NET Framework 2.0 Language Packs

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.

Installation Command Syntax and Corresponding Log Files

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

Dotnetfx.exe Error Codes

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 Failureunknown 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.

Installing Localized Versions of Dotnetfx.exe

Microsoft .NET Framework 2.0 has been localized into many languages. For additional information, see Installing Localized Versions of the .NET Framework 2.0.

Minimum Configuration Requirements

For information on minimum and recommended platform requirements see the .NET Framework 2.0 Redistributable Prerequisites in the .NET Framework Deployment Guide.