Implementación de Microsoft .NET Framework versión 3.0

 

Annie Wang
Microsoft Corporation

Junio de 2006

Se aplica a
   Microsoft .NET Framework versión 3.0 (anteriormente conocido como WinFX)
   Microsoft .NET Framework 2.0
   Microsoft Windows Vista

Resumen: Microsoft .NET Framework 3.0 (anteriormente conocido como WinFX), es el nuevo modelo de programación de código administrado para Windows. Las aplicaciones escritas para .NET Framework 3.0 requieren que .NET Framework 3.0 se instale en el equipo donde se ejecuta la aplicación. En este artículo se describe brevemente .NET Framework 3.0 y su relación con versiones anteriores de .NET Framework, se proporciona información sobre cómo instalar e implementar Framework y se describe cómo detectar si está instalado .NET Framework 3.0. (18 páginas impresas)

Contenido

Introducción
   Acerca de Microsoft .NET Framework 3.0
   Cómo se relaciona .NET Framework 3.0 con .NET Framework 2.0 y versiones anteriores
   Directiva de mantenimiento para .NET Framework 3.0
   Hoja de ruta para futuras versiones de .NET Framework
Instalación de .NET Framework 3.0
   Números de versión para ensamblados de .NET Framework
Implementación de .NET Framework 3.0
   Requisitos de software
   Requisitos de hardware
   Derechos de redistribución para .NET Framework
   Herramientas de administrador de TI para implementar .NET Framework 3.0
   Redistribuir .NET Framework con la aplicación
Detección de .NET Framework 3.0 y versiones anteriores
   Lectura de una clave del Registro
   Lectura de la cadena de User-Agent en Internet Explorer
Opciones de la línea de comandos para .NET Framework 3.0 Redistributable
Códigos de error para .NET Framework 3.0 Redistributable
Apéndice A: Detección de paquetes de idioma de .NET Framework
Apéndice B: Script de ejemplo para detectar .NET Framework 3.0 mediante Internet Explorer

Introducción

En esta sección se proporciona información general sobre .NET Framework 3.0.

Acerca de Microsoft .NET Framework 3.0

La versión 3.0 de Microsoft .NET Framework (anteriormente conocida como WinFX) es el nuevo modelo de programación de código administrado para Windows. Combina la potencia de .NET Framework 2.0 con nuevas tecnologías para crear aplicaciones que tienen una experiencia de usuario visualmente atractiva, una comunicación perfecta entre los límites de la tecnología y compatibilidad con una amplia gama de procesos empresariales. Microsoft planea enviar .NET Framework 3.0 como parte de Windows Vista. Al mismo tiempo, Microsoft hará que .NET Framework esté disponible para Windows XP Service Pack 2 y Windows Server 2003 Service Pack 1.

En la tabla siguiente se enumeran algunas de las tecnologías incluidas en .NET Framework 3.0.

Technology Descripción
Windows Presentation Foundation (WPF, anteriormente denominado "Avalon") Proporciona clases para compilar aplicaciones smart-client de próxima generación que combinan la interfaz de usuario, los documentos y los medios.
Windows Communication Foundation (WCF, anteriormente denominado "Indigo") Ofrece un modelo de programación unificado y un entorno de ejecución para crear aplicaciones orientadas a servicios.
Windows Workflow Foundation (WF) Ofrece un modelo de programación, un motor y herramientas para crear aplicaciones habilitadas para el flujo de trabajo que modelar procesos empresariales.
Windows CardSpace (Nombre código anterior "InfoCard") Proporciona una tecnología para simplificar y mejorar la seguridad de trabajar en línea con información de identidad personal.
Microsoft .NET Framework 2.0 Permite compilar aplicaciones basadas en Web y Windows de forma productiva.

Todas las clases que representan los nuevos componentes (WPF, WF, WCF y CardSpace) forman parte del espacio de nombres System . Las clases principales de la plataforma .NET, como Common Language Runtime (CLR) y las bibliotecas de clases base (BCL) permanecen como están en .NET Framework 2.0.

En el diagrama siguiente se muestra la estructura de .NET Framework 3.0.

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

Figura 1. .NET Framework 3.0

Cómo se relaciona .NET Framework 3.0 con .NET Framework 2.0 y versiones anteriores

.NET Framework 3.0 agrega nuevas tecnologías a .NET Framework 2.0, lo que convierte a .NET Framework 3.0 en un superconjunto de .NET Framework 2.0. Puede considerar .NET Framework 3.0 como una versión "aditiva" de .NET Framework 2.0, en contraste con una versión generacional en la que se revisa el software a través de la placa. (Por ejemplo, .NET Framework 2.0 era una versión generacional en .NET Framework 1.0).

Dado que .NET Framework 3.0 es una versión aditiva y usa los componentes principales en tiempo de ejecución de .NET Framework 2.0, es totalmente compatible con la versión anterior. Las aplicaciones basadas en .NET Framework 2.0 existentes seguirán ejecutándose sin modificaciones y puede continuar de forma segura con las inversiones mediante las tecnologías que se incluyen con .NET Framework 2.0.

Si va a pasar a .NET Framework 3.0 desde .NET Framework 1.1 o 1.0, debe realizar análisis de impacto y ejecutar pruebas de compatibilidad antes de la implementación. Aunque hemos trabajado para hacer que las versiones de .NET Framework sean compatibles, hay un pequeño número de incompatibles conocidos debido a las adiciones de funcionalidad y seguridad importantes. Para obtener más información, vea la página Cambios importantes en .NET Framework 2.0 en el sitio web del Centro para desarrolladores de Microsoft .NET.

Directiva de mantenimiento para .NET Framework 3.0

Microsoft seguirá dando servicio a la versión de .NET Framework 2.0 de acuerdo con la directiva de soporte estándar para las plataformas en las que se admite. Los usuarios que dependen actualmente de .NET Framework 2.0 tienen la opción de permanecer en esa versión de .NET Framework y recibir actualizaciones de software a medida que estén disponibles.

Cualquier componente que se envíe como parte de .NET Framework 3.0 se atenderá en las plataformas en las que se admite. Para obtener más información, vea la página Tecnología de actualización de software en el sitio web del Centro para desarrolladores de Microsoft Visual Studio.

Hoja de ruta para futuras versiones de .NET Framework

En general, cualquier nueva versión de .NET Framework está diseñada para proporcionar compatibilidad con versiones anteriores con la versión anterior. Si una nueva versión presenta cambios importantes debido a problemas de seguridad u otros motivos, Microsoft le permitirá instalar la nueva versión en paralelo con la versión existente.

Para obtener más información sobre las versiones futuras de .NET Framework, consulte el sitio web del Centro para desarrolladores de Microsoft .NET Framework .

Instalación de .NET Framework 3.0

.NET Framework 3.0 está instalado de forma predeterminada en Microsoft Windows Vista. En el código de Microsoft Windows Server denominado "Longhorn", puede instalar .NET Framework como una característica de Windows mediante las herramientas de administración de roles.

En Windows XP y Windows Server 2003, la instalación de .NET Framework 3.0 también agrega los componentes de .NET Framework 2.0 que aún no están instalados. Si .NET Framework 2.0 ya está instalado, el instalador de .NET Framework 3.0 agrega solo los archivos para Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF), Windows Communication Foundation (WCF) y Windows CardSpace.

Los componentes compartidos con .NET Framework 2.0 se instalan en la siguiente ubicación:

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

Los componentes que son nuevos en .NET Framework 3.0 se instalan en la siguiente ubicación:

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

Todos los componentes de los ensamblados de referencia de .NET Framework 3.0 se instalan en la siguiente ubicación:

%programfiles%\Reference Assemblies\Microsoft\Framework\v3.0

La desinstalación de .NET Framework 3.0 no quitará los componentes compartidos con .NET Framework 2.0. Para quitar esos componentes, primero debe desinstalar .NET Framework 3.0 y, después, desinstalar .NET Framework 2.0 por separado. (Puede desinstalar .NET Framework mediante el elemento Agregar o quitar programas en Windows Panel de control).

Números de versión para ensamblados de .NET Framework

.NET Framework 3.0 comparte muchos componentes con .NET Framework 2.0 y las bibliotecas de clases base y Common Language Runtime (CLR) son las mismas que las de .NET Framework 2.0. Por lo tanto, estos componentes compartidos permanecen en la versión 2.0. El número de versión 3.0 se aplica a todos los ensamblados en tiempo de ejecución y referencia para Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), Windows Workflow Foundation (WF) y Windows CardSpace.

Implementación de .NET Framework 3.0

En esta sección se proporciona información sobre cómo implementar .NET Framework 3.0 para su uso con las aplicaciones.

Requisitos de software

Para instalar .NET Framework 3.0, debe tener uno de los siguientes sistemas operativos instalados en el equipo de destino:

  • Microsoft Windows XP Home o Microsoft Windows XP Home Professional, con Service Pack 2 o posterior.
  • Familia Microsoft Windows Server 2003 con Service Pack 1 o posterior.

Nota.NET Framework 2.0 sigue siendo compatible con sus plataformas de destino. Para obtener más información, vea la página Requisitos previos redistribuibles de .NET Framework 2.0 en el sitio web de MSDN.

.NET Framework 3.0 se instala de forma predeterminada con Microsoft Windows Vista. En Microsoft Windows Server "Longhorn", .NET Framework 3.0 es una característica de Windows que se puede instalar mediante las herramientas de administración de roles.

Nota Microsoft Windows Server "Longhorn" IA64 Edition es la única plataforma IA64 que admite .NET Framework 3.0.

Requisitos de hardware

En la tabla siguiente se enumeran los requisitos de hardware para ejecutar .NET Framework 3.0.

  CPU necesaria RAM necesaria
Mínima Pentium 400 MHz 96 MB
Recomendado Pentium 1 GHz o superior 256 MB o más

Derechos de redistribución para .NET Framework

Microsoft admite firmemente a los clientes en la implementación de .NET Framework dentro de sus organizaciones y como parte de sus soluciones de software. La distribución del entorno de ejecución de .NET Framework 3.0 requiere que acepte los términos de licencia. Para obtener información sobre cómo redistribuir .NET Framework 3.0 con la aplicación o a un tercero, revise la página Guía de ISV para redistribuir .NET Framework y otros componentes en tiempo de ejecución en el sitio web de MSDN.

Nota El derecho redistribuible solo se reserva para la versión oficial publicada de Microsoft .NET Framework 3.0. Es posible que no redistribuya la versión publicada previamente de Microsoft .NET Framework 3.0 con la aplicación.

Herramientas de administrador de TI para implementar .NET Framework 3.0

.NET Framework 3.0 ofrece dos maneras para que los administradores de TI se implementen en clientes de campo: configuración en modo de administrador e implementación de Active Directory.

Configuración en modo de administrador

La configuración en modo de administrador permite a los administradores de TI implementar .NET Framework a través de Microsoft Systems Management Server (SMS) u otras herramientas de distribución de software. El administrador de TI ejecuta la configuración del marco en modo silencioso. Si se producen errores, el programa de instalación deja de funcionar de forma silenciosa y registra un código de error.

Implementación de Active Directory

En la implementación de Active Directory, el administrador debe agregar archivos de .msi individuales desde el paquete de instalación de .NET Framework 3.0 a la directiva de grupo en el orden en que se deben implementar los archivos de .msi. Una vez habilitada la directiva de grupo, los clientes que forman parte de esta directiva de grupo instalarán automáticamente los componentes cuando arranquen y vuelvan a conectarse a la red. Si se producen errores, el programa de instalación deja de funcionar de forma silenciosa y registra un código de error.

Para obtener más información sobre las instrucciones de implementación administrativa, consulte la página web de la Guía de implementación de administradores .

Redistribuir .NET Framework con la aplicación

El paquete redistribuible de .NET Framework 3.0 está disponible como un archivo ejecutable independiente. El nombre del archivo depende del tipo de plataforma de destino. Para las plataformas de 32 bits, el archivo se denomina Dotnetfx3.exe. Para las plataformas de 64 bits, el archivo se denomina Dotnetfx3_x64.exe. También puede implementar un paquete redistribuible pequeño denominado Dotnet3setup.exe que descargue los componentes necesarios durante la instalación.

Al distribuir el paquete redistribuible de .NET Framework 3.0 con la aplicación, debe aceptar los términos de licencia, que le dan derechos de distribución específicos.

Puede iniciar e instalar manualmente el redistribuible en un equipo, o bien se puede iniciar e instalar como parte del programa de instalación de una aplicación de .NET Framework 3.0.

Nota Se requieren privilegios de administrador para instalar .NET Framework 3.0.

Para obtener más información, consulte la página web de la Guía de implementación de Microsoft .NET Framework 3.0 .

Detección de .NET Framework 3.0 y versiones anteriores

Puede detectar si .NET Framework 3.0 está instalado leyendo una clave del Registro y consultando la cadena de agente de usuario en Internet Explorer.

Lectura de una clave del Registro

Puede buscar un valor de clave del Registro especificado para detectar si .NET Framework está instalado en un equipo. En la tabla siguiente se enumeran las claves y los valores del Registro que puede probar para determinar si hay instaladas versiones específicas de .NET Framework.

Versión Nombre de clave del Registro Value
3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup InstallSuccess (valor DWORD = 1)
2,0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727 Install (valor DWORD = 1)
1,1 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v1.1.4322 Install (valor DWORD = 1)
1.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\v1.0 3705 (REG_SZ valor = 3321-3705)

Nota Para obtener más información sobre la detección de Service Packs publicados anteriormente para .NET Framework 1.0 y 1.1, consulte el artículo 318785, "Cómo determinar qué versiones de .NET Framework están instaladas y si se han aplicado Service Packs" en Microsoft Knowledge Base.

Lectura de la cadena de User-Agent en Internet Explorer

En el caso de las aplicaciones basadas en explorador, puede detectar si .NET Framework 3.0 está instalado en un equipo examinando la cadena de agente de usuario mediante Internet Explorer que se ejecuta en ese equipo. Esto contendrá la subcadena "NET CLR" seguida de los números de versión principal y secundaria. Una cadena de agente de usuario de ejemplo tiene el siguiente aspecto:

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)

Apéndice B: Script de ejemplo para detectar .NET Framework 3.0 Mediante Internet Explorer muestra un programa JavaScript de ejemplo que se ejecuta en un explorador y muestra información sobre el número de versión actual de .NET Framework.

La cadena user-agent que se envía en los encabezados del explorador se almacena en el registro del equipo servidor, como se muestra en la tabla siguiente.

Versión Clave del Registro
3.0 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\User Agent\Post Platform\.NET CLR.3.0. 04131.06
Nota Número de compilación (
04131.06
en el ejemplo) cambiará para la versión final de .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

Opciones de la línea de comandos para .NET Framework 3.0 Redistributable

En la tabla siguiente se enumeran las opciones que puede incluir al ejecutar el programa de instalación redistribuible de .NET Framework 3.0 (Dotnetfx3.exe, Dotnetfx3_x64.exe o Dotnet3setup.exe) desde la línea de comandos.

Opción Descripción
/q
Suprime toda la interfaz de usuario. No se puede especificar un archivo .INI con esta opción.
/quiet
Igual a /q.
/qb
Muestra la interfaz de usuario mínima, que muestra solo el progreso.
/passive
Igual a /qb.
/uninstall
Desinstala el producto.
/remove
Igual a /uninstall.
/f
Repara todos los componentes de .NET Framework 3.0 instalados.
/nopatch
Especifica que las revisiones no se aplican y omiten la comprobación de revisiones.
/norollback
Especifica que el programa de instalación no se revierte si se produce un error en un componente de instalación.
/norestart
Especifica que el instalador no reinicia el equipo una vez completada la instalación. El instalador redistribuible devuelve ERROR_SUCCESS_REBOOT_REQUIRED (3010) si se requiere un reinicio.
/?
Muestra esta lista de opciones.

Códigos de error para .NET Framework 3.0 Redistributable

En la tabla siguiente se enumeran los códigos de error que puede devolver el programa de instalación redistribuible de .NET Framework 3.0 (Dotnetfx3.exe, Dotnetfx3_x64.exe o Dotnet3setup.exe). Los códigos de error son los mismos para todas las versiones del instalador.

Código de error Value Descripción
ERROR_SUCCESS
0 La acción se ha realizado correctamente.
ERROR_INSTALL_USEREXIT
1602 Instalación cancelada por el usuario.
ERROR_INSTALL_FAILURE
1603 Error irrecuperable durante la instalación.
ERROR_UNKNOWN_PRODUCT
1605 Esta acción solo es válida para los productos que están instalados actualmente.
ERROR_PATCH_PACKAGE_INVALID
1636 No se pudo abrir el paquete de revisión o la revisión no se aplicaba a .NET Framework 3.0.
ERROR_INVALID_COMMAND_LINE
1639 Argumento de línea de comandos no válido.
ERROR_SUCCESS_REBOOT_INITIATED
1641 El instalador ha iniciado una operación de reinicio. Esto indica que se ha realizado correctamente y la configuración continuará después del reinicio. (El reinicio no se realiza si se especificó la /norestart opción).
ERROR_PATCH_PACKAGE_REJECTED
1643 La directiva del sistema no permite el paquete de revisión.
ERROR_SUCCESS_REBOOT_REQUIRED
3010 Para completar la instalación es necesario reiniciar. Este mensaje indica que la instalación se realizó correctamente.

Apéndice A: Detección de paquetes de idioma de .NET Framework

En la tabla siguiente se enumeran los valores del Registro que puede leer para detectar si un paquete de idioma de .NET Framework está instalado en un equipo. Para obtener más información sobre cómo detectar la versión localizada de .NET Framework 1.0, vea la página Referencia técnica del paquete redistribuible de .NET Framework en el sitio web de MSDN.

Producto Valor del Registro
Paquete de idioma chino (simplificado) Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma chino (tradicional) Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma checo Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma danés Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma holandés Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma finlandés Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma francés Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess (valor DWORD = 1)

Paquete de idioma alemán Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma griego Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma italiano Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma japonés Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma coreano Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma noruego Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma polaco Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma portugués (brasileño) Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma portugués (Portugal) Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma ruso Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma español Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma sueco Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Paquete de idioma turco Versión 1.1

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

Versión 2.0

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

Install (valor DWORD = 1)

Versión 3.0

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

InstallSuccess(DWORD value = 1)

Apéndice B: Script de ejemplo para detectar .NET Framework 3.0 mediante Internet Explorer

En el ejemplo siguiente se muestra un programa de JavaScript que se ejecuta en un explorador que detecta si se está ejecutando .NET Framework 3.0. El script busca en la cadena del agente de usuario y muestra un mensaje de estado basado en los resultados de la búsqueda.

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

Si la búsqueda de la versión ".NET Framework 3.0" es correcta, aparece el siguiente mensaje:

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

De lo contrario, aparece el siguiente mensaje:

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

Haga clic aquí. 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).