Administrar múltiples versiones de ASP.NET

.NET Framework permite instalar múltiples versiones del motor de tiempo de ejecución en el mismo equipo. De esta forma una aplicación ASP.NET puede utilizar la versión que necesite ejecutar sin afectar a otras aplicaciones. En las secciones siguientes se describe cómo instalar, desinstalar y volver a distribuir múltiples versiones de ASP.NET en el mismo equipo.

Instalar múltiples versiones de ASP.NET

Para agregar una versión de ASP.NET a un equipo, ejecute el programa de instalación del paquete redistribuible (Dotnetfx.exe) para la versión que desee instalar. De forma predeterminada, todas las aplicaciones ASP.NET existentes se vuelven a configurar automáticamente para utilizar la versión de instalación del motor de tiempo de ejecución si se cumplen las siguientes condiciones:

  • La versión de instalación de .NET Framework es posterior a la versión asignada actualmente a la aplicación.

  • La versión de instalación de .NET Framework es compatible con la versión asignada a la aplicación. En general, el número de versión determina la compatibilidad. Por lo general, los cambios de números de versión de compilación y de revisión secundaria son compatibles, mientras que los números de revisiones principales no lo son.

    PRECAUCIÓN   Aunque las aplicaciones ASP.NET se actualizan automáticamente para utilizar la versión de instalación de ASP.NET, siempre que se cumplan las condiciones anteriores, los valores de la configuración personalizada del archivo Machine.config actual no se transfieren al archivo Machine.config de la instalación. Si la aplicación utiliza valores de configuración personalizados, asegúrese de que actualiza manualmente el archivo Machine.config o utilice la herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) para reasignar la aplicación a la versión anterior de ASP.NET. Para obtener más información sobre cómo reasignar una aplicación, vea Configurar una aplicación ASP.NET para una versión de ASP.NET.

Para impedir la reasignación automática de todas las aplicaciones existentes a la versión de instalación de .NET Framework, utilice la opción de línea de comandos /noaspupgrade con el programa de instalación Dotnetfx.exe. A continuación se muestra la línea de comandos completa.

Dotnetfx.exe /c:"install /noaspupgrade"

Para obtener más información sobre el paquete redistribuible de .NET Framework, vea Redistribuir .NET Framework.

Consola de bloqueo de seguridad de IIS 6.0

Si utiliza los Servicios de Internet Information Server 6.0, es posible que tenga habilitar ASP.NET en la consola de administración de IIS después de instalar ASP.NET. IIS 6.0 ofrece una nueva consola de bloqueo de seguridad, que permite a los administradores habilitar y deshabilitar la funcionalidad de IIS de forma selectiva. Cuando se instala la versión 1.1 o una versión posterior de ASP.NET en un equipo que utiliza IIS 6.0, la secuencia de comandos de la instalación crea una clave de metabase para esa versión de ASP.NET. Esta clave de metabase permite a ASP.NET aparecer en la consola como un componente configurable. Con cada versión instalada de ASP.NET se crea una clave distinta, que permite configurar cada versión por separado en la consola. Cuando se desinstala una versión de ASP.NET en un equipo, también se quita la clave correspondiente.

Nota   Cuando se instala ASP.NET mediante el elemento Agregar o quitar programas del Panel de control o con el Asistente para configurar su servidor, ASP.NET se habilita en la consola de bloqueo de seguridad de forma predeterminada. No obstante, si se instala mediante Microsoft Visual Studio .NET, Windows Update o con el paquete redistribuible de .NET Framework (Dotnetfx.exe), ASP.NET se deshabilita de forma predeterminada.

Para administrar los elementos en la consola de bloqueo de seguridad

  1. Abra la consola de administración de los Servicios de Internet Information Server.
  2. Expanda el equipo local haciendo clic en el signo más.
  3. Haga clic en la carpeta Extensiones de servicio Web. Aparecerá la consola de bloqueo de seguridad en el marco de la derecha.
  4. Con la ficha Extendido seleccionada, haga clic en el elemento Extensión de servicio Web que desee configurar.
  5. Haga clic en el botón Permitir o Prohibir para habilitar o deshabilitar el elemento.
  6. Haga clic en el vínculo Agregar una nueva extensión de servicio Web para agregar un nuevo elemento a la consola.

Desinstalar una versión de ASP.NET

Si tiene instaladas varias versiones de ASP.NET en un equipo, puede desinstalar una versión de forma individual. Por lo general, la desinstalación de ASP.NET se puede hacer desinstalando .NET Framework mediante el elemento Agregar o quitar programas del Panel de control. Durante el proceso de desinstalación, el programa de instalación llama a la herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) con la opción -u (indicador de desinstalación).

Nota   Si sólo desea desinstalar una versión de ASP.NET sin desinstalar la versión asociada de .NET Framework, puede utilizar la herramienta Aspnet_regiis.exe directamente. Cada instalación de .NET Framework contiene una versión asociada de la herramienta. Para desinstalar sólo ASP.NET, utilice la opción -u de la versión de la herramienta asociada con la versión de ASP.NET que desee desinstalar. Para obtener más información, vea Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe).

Con la opción -u de la herramienta Aspnet_regiis.exe se realizan las siguientes acciones:

  • Todas las aplicaciones ASP.NET asignadas a la versión de ASP.NET que se desinstale se reasignan a la siguiente versión compatible más reciente en el equipo. Si no hay ninguna versión compatible, la asignación de secuencia de comandos de la aplicación se quita totalmente.

    PRECAUCIÓN   Al quitar las asignaciones de secuencias de comandos, IIS ofrece las páginas ASP.NET como texto literal. De este modo se puede exponer código fuente al cliente.

  • El servicio de estado de ASP.NET se comparte entre todas las versiones compatibles de ASP.NET y se asigna siempre a la última versión instalada. Si se desinstala la versión más reciente de ASP.NET, se registra la siguiente versión más compatible en el equipo para reemplazar a la versión desinstalada. Si no hay ninguna versión compatible, el servicio de estado de ASP.NET se desinstala.

  • Los objetos de rendimiento y los contadores de rendimiento asociados específicos de la versión desinstalada se quitan. Los contadores y los objetos genéricos de rendimiento que se aplican a todas las versiones instaladas de ASP.NET, ASP.NET y Aplicaciones ASP.NET, se dirigen a la última versión instalada que quede en el equipo.

  • La cuenta de usuario ASPNET se comparte entre todas las versiones compatibles de ASP.NET. Si no queda ninguna instalación adicional de ASP.NET en el equipo, la cuenta de usuario ASPNET y las listas de control de acceso asociadas se quitan.

Para obtener más información sobre los efectos de la desinstalación de múltiples versiones de ASP.NET, vea Información general sobre simultaneidad de ASP.NET.

Redistribución de terceros de .NET Framework

Las aplicaciones de terceros pueden empaquetar e instalar .NET Framework como parte de su instalación bajo una licencia especial de redistribución. De este modo, una aplicación puede instalar la versión específica de .NET Framework que necesite ejecutar. El paquete redistribuible de .NET Framework (Dotnetfx.exe) se proporciona para implementar una aplicación con el motor de tiempo de ejecución. La secuencia de comandos de la instalación predeterminada de Dotnetfx.exe puede no cumplir los requisitos de la aplicación. El programador de la aplicación de terceros deberá utilizar las opciones que se describen a continuación cuando instale .NET Framework como parte de una instalación de la aplicación.

Para obtener más información sobre el paquete redistribuible de .NET Framework, vea Redistribuir .NET Framework. Para obtener más información sobre el contrato de licencia de usuario final del paquete redistribuible, vea Dónde conseguir el paquete redistribuible de .NET Framework.

Deshabilitar las actualizaciones automáticas de asignaciones de secuencias de comandos

De forma predeterminada, cuando se instala .NET Framework en un equipo con una instalación existente, todas las aplicaciones ASP.NET se actualizan automáticamente para utilizar esa versión de .NET Framework, salvo que se enlacen las aplicaciones a una versión incompatible o una versión posterior del motor de tiempo de ejecución. Normalmente, sólo el administrador del sistema realiza este tipo de instalación. Al instalar .NET Framework como parte de una instalación de la aplicación, no se debe forzar a las otras aplicaciones a utilizar esa versión del motor de tiempo de ejecución.

Como parte de la secuencia de comandos, Dotnetfx.exe suele llamar a la herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) con la opción -i para instalar ASP.NET. Esta opción intenta actualizar las asignaciones de secuencias de comandos de todas las aplicaciones de ASP.NET existentes. Para impedir que la instalación actualice automáticamente otras aplicaciones en el equipo, se ofrece la opción /noaspnetupgrade como parte de Dotnetfx.exe. Esta opción hace que el programa de instalación utilice la opción -ir de Aspnet_regiis.exe en su lugar, que omite las actualizaciones automáticas de asignaciones de secuencias de comandos, documentación predeterminada y los pasos de intercambio de MIME. A continuación se muestra la línea de comandos completa.

Dotnetfx.exe /c:"install /noaspupgrade"

Actualizar las asignaciones de secuencias de comandos manualmente

En ocasiones, es necesario configurar manualmente las asignaciones de secuencias de comandos para una aplicación. Si la aplicación necesita su propio directorio virtual orientado a la versión de instalación de .NET Framework, asegúrese de que el programa de instalación de la aplicación también llama explícitamente a Aspnet_regiis.exe con la opción -s o -sn para configurar las asignaciones de secuencias de comandos.

El ejemplo siguiente muestra una línea de comandos que actualiza las asignaciones de secuencias de comandos para una aplicación denominada SampleApp1.

Aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1

Para obtener más información, vea Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe).

Vea también

Compatibilidad con la ejecución simultánea en ASP.NET | Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) | Redistribuir .NET Framework | Dónde conseguir el paquete redistribuible de .NET Framework