Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe)
La herramienta de registro de IIS de ASP.NET (Aspnet_regiis.exe) se utiliza para registrar las aplicaciones ASP.NET con Internet Information Services (IIS). En este tema se describen las opciones, la sintaxis y otra información para utilizar la herramienta.
Con la herramienta de registro de IIS de ASP.NET, puede realizar tareas como las que se indican a continuación:
Registrar o quitar la instalación de ASP.NET de .NET Framework con IIS.
Crear nuevos grupos de aplicaciones de ASP.NET.
Muestra el estado de todas las versiones de ASP.NET instaladas.
Importante
La versión de Aspnet_regiis incluida con .NET Framework versión 4 tiene nuevas características y capacidades, que se resumen en la sección Opciones.Sin embargo, estas características solo están disponibles al instalar .NET Framework 4 en Windows Vista, Windows Server 2008 o Windows 7.Si instala .NET Framework versión 4 en cualquier versión de Windows XP o Windows Server 2003, la herramienta funciona igual que en la versión 3.5 y versiones anteriores de .NET Framework.Para obtener información detallada sobre cómo funciona Aspnet_regiis en Windows XP o Windows Server 2003, vea Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) para la versión 3.5 de .NET Framework.
.NET Framework 4 se puede instalar en paralelo con versiones anteriores de .NET Framework en un equipo único. Si IIS ya está habilitado en el equipo, el proceso de configuración de .NET Framework registra automáticamente ASP.NET 4 con IIS. Sin embargo, si instala .NET Framework 4 antes de habilitar IIS, debe ejecutar la herramienta de registro de ASP.NET IIS para registrar la versión de .NET Framework con IIS y crear grupos de aplicaciones que usen la versión .NET Framework 4.
Precaución
Para obtener información sobre cómo encontrar la versión correcta de Aspnet_regiis.exe, vea Encontrar la versión correcta de Aspnet_regiis.exe más adelante en este tema.
aspnet_regiis [options]
Opciones
Las opciones i, ir, iru y enable son normalmente las únicas opciones que necesitará para registrar aplicaciones ASP.NET con IIS.
Opción |
Descripción |
---|---|
-c |
Opción heredada que no se aplica al ejecutar aplicaciones con la versión 4 de ASP.NET. Para obtener información sobre cómo funciona esta opción en las versiones anteriores de ASP.NET, vea Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) para la versión 3.5 de .NET Framework. |
-disable |
En IS 6.0 y en IIS 7.0 ejecutándose en el modo clásico, se deshabilita la extensión ISAPI de ASP.NET. El comando no se aplica a IIS 7.0 en el modo integrado. Esta opción sólo se puede combinar con las opciones -i, -ir o -r. No está disponible con las versiones de IIS anteriores a la IIS 6.0. |
-e |
Quita los scripts del cliente para ASP.NET del subdirectorio aspnet_client de cada uno de los directorios de sitio IIS. Solo se quitan los scripts del cliente de la versión de ASP.NET asociada a Aspnet_regiis.exe. |
-ea |
Quita los scripts del cliente de todas las versiones de ASP.NET del subdirectorio aspnet_client de cada uno de los directorios de sitio IIS. |
-enable |
En IIS 6.0 y en modo clásico de IIS 7.0, la opción habilita la extensión ISAPI de ASP.NET. El comando no se aplica a IIS 7.0 en el modo integrado. Esta opción sólo se puede combinar con las opciones -i, -ir o -r. No está disponible con las versiones de IIS anteriores a IIS 6.0 o con versiones de ASP.NET anteriores a la versión 2.0 de ASP.NET. |
-ga user |
Concede al usuario o grupo especificado acceso a la metabase de IIS y a otros directorios utilizados por ASP.NET. Normalmente usa esta opción al crear una cuenta de servicio personalizada. Para obtener más información, vea How to: Create a Service Account for an ASP.NET 2.0 Application. Esta opción no está disponible en las versiones de ASP.NET anteriores a la versión 2.0 de ASP.NET. Para las instalaciones en Windows Vista, Windows Server 2008 o Windows 7, esta opción permite establecer listas ACL para los grupos. Nota La versión de Aspnet_regiis.exe que se proporciona en la versión 3.5 de ASP.NET y anteriores produce un error al especificar un usuario o un grupo local. |
-i |
Instala ASP.NET 4 y actualiza las aplicaciones existentes para usar la versión de ASP.NET 4 del grupo de aplicaciones. Actualiza tanto el controlador del modo clásico de IIS como el del modo integrado, así como las asignaciones de script ubicadas en la metabase de IIS. Esta opción crea dos grupos de aplicaciones, ASP.NET v4.0 y ASP.NET v4.0 Classic. El grupo de aplicaciones DefaultAppPool y los grupos de aplicaciones Classic .NET AppPool están establecidos en la versión .NET Framework 4 del CLR. La versión de 32 bits de Aspnet_regiis.exe sólo agrega asignaciones de scripts de 32 bits al archivo Applicationhost.config. La versión de 64 bits de Aspnet_regiis.exe sólo agrega asignaciones de scripts de 32 y 64 bits al archivo Applicationhost.config. Se hace esto porque las versiones de 64 bits de las instalaciones de Windows Vista, Windows Server 2008 o Windows 7 que tienen IIS 7.0 habilitado también tendrán compatibilidad con Windows on Windows de 64 bits (WOW64). Nota En el cuadro de diálogo Características de Windows del sistema operativo, no está seleccionada la opción para la integración de ASP.NET.(Esta opción está en la sección Internet Information Services.) El cuadro de diálogo Características de Windows muestra sólo el estado de integración de ASP.NET 2.0.No muestra información sobre la versión 4. |
-ir |
Instala y registra ASP.NET 4. Esta opción es la misma que -i excepto por que no cambia la versión de CLR asociada a los grupos de aplicaciones existentes. |
-iru |
Si ASP.NET no está registrado actualmente con IIS, realiza las tareas descritas para -i. Si ya se ha registrado una versión anterior de ASP.NET con IIS, esta opción realizará las tareas descritas para -ir. |
-k path |
Esta opción no se admite en Windows Vista, Windows Server 2008 o Windows 7. Para obtener información sobre cómo funciona esta opción en Windows XP o Windows Server 2003, vea Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) para la versión 3.5 de .NET Framework. |
-kn path |
Esta opción no se admite en Windows Vista, Windows Server 2008 o Windows 7. Para obtener información sobre cómo funciona esta opción en Windows XP o Windows Server 2003, vea Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) para la versión 3.5 de .NET Framework. |
-lk |
Enumera la ruta de acceso y la versión de todas las claves de metabase de IIS asignadas a ASP.NET. Esta opción no se admite en Windows Vista ni en versiones posteriores. No se muestran las claves que heredan asignaciones de script de ASP.NET de una clave primaria. |
-lv |
Enumera el estado y la ruta de instalación de todas las versiones de ASP.NET instaladas en el equipo. |
-norestart |
Esta opción no se admite en Windows Vista, Windows Server 2008 o Windows 7. Para obtener información sobre cómo funciona esta opción en Windows XP o Windows Server 2003, vea Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) para la versión 3.5 de .NET Framework. |
-r |
Realiza las tareas descritas para -i y además cambia todos los grupos de aplicaciones para que usen el CLR de .NET Framework 4. |
-s path |
Actualiza mapas de scripts y asignaciones del grupo de aplicaciones para la aplicación especificada y para todas las subaplicaciones. Para una aplicación web que no es raíz (no W3SVC \ ni W3SVC\ROOT), la configuración del grupo de aplicaciones para la aplicación web que no es raíz y de todas las subaplicaciones se copia en un nuevo grupo de aplicaciones denominado ASP.NET V4.0 nombre del grupo de aplicaciones originaly a continuación, la aplicación web no raíz se mueve al nuevo grupo de aplicaciones. El nuevo grupo de aplicaciones tiene los mismos valores que el grupo de aplicaciones original, sólo que la copia está asignada al CLR de .NET Framework 4 y tiene la configuración de ASP.NET 4. Si el nuevo grupo de aplicaciones ASP.NET V4.0 nombre del grupo de aplicaciones original ya existe, se omitirá el paso de crear y clonar el grupo de aplicaciones. En su lugar, Aspnet_regiis.exe utiliza el grupo de aplicaciones existente y lo configura de modo que use el CLR de .NET Framework 4, pero no realiza ningún otro cambio. A continuación, la herramienta mueve la aplicación especificada y sus subaplicaciones a la copia del grupo de aplicaciones correspondiente. La configuración del grupo de aplicaciones existente queda sin modificar. Si la aplicación especificada es la raíz web (W3SVC\ o W3SVC\ROOT), Aspnet_regiis.exe actualizará todos los grupos de aplicaciones de modo que usen el CLR de .NET Framework 4 y ASP.NET 4. |
-sn path |
Realiza las tareas descritas para -s, excepto por el hecho de que -sn no es recursivo. Actualiza mapas de scripts y asignaciones del grupo de aplicaciones sólo para la aplicación concreta. No se cambia ninguna subaplicación. Si la aplicación especificada es la raíz web (W3SVC\ o W3SVC\ROOT), Aspnet_regiis.exe cambia todos los grupos de aplicaciones denominados DefaultAppPool, Classic .NET AppPool, ASP.NET V4.0 y ASP.NET V4.0 Classic de modo que usen el CLR de .NET Framework 4 y ASP.NET 4. |
-u |
En el caso de desinstalación, sale de las dos versiones de 4 de los grupos de aplicaciones y sale de todas las aplicaciones de los grupos de aplicaciones de las dos versiones 4. Esta opción también quita el atributo managedRuntimeVersion de los grupos de aplicaciones que se asignaron al CLR de .NET Framework 4. Esto revierte los grupos de aplicaciones al valor predeterminado de IIS 7.0 para el motor en tiempo de ejecución, que es 2.0 en Windows Vista, Windows Server 2008 o Windows 7. La opción quita todas las asignaciones de identificadores y módulos de la versión 4 establecidas explícitamente. Además, quita todas las asignaciones de script (de 32 y 64 bits), sin tener en cuenta si se usa la versión de 32 o de 64 bits de Aspnet_regiis.exe. |
-ua |
En el caso de desinstalación, sale de las dos versiones 4 de los grupos de aplicaciones y sale de todas las aplicaciones de los grupos de aplicaciones de las dos versiones 4. Esta opción quita todos los registros de ASP.NET (versiones 2.0 y 4) del archivo Applicationhost.config. Además, quita todas las asignaciones de script (de 32 y 64 bits), sin tener en cuenta si se usa la versión de 32 o de 64 bits de Aspnet_regiis.exe. Los grupos de aplicaciones existentes todavía estarán asociados al CLR de .NET Framework 2.0, porque ése es el valor predeterminado para el atributo managedRuntimeVersion. |
-? |
Muestra la sintaxis de comandos y las opciones de la herramienta de registro IIS de ASP.NET. |
Opciones de configuración
Opción |
Descripción |
---|---|
-config+ |
Habilita el acceso remoto a la configuración de ASP.NET. |
-config- |
Deshabilita el acceso remoto a la configuración de ASP.NET. |
-pa cuenta del contenedor |
Concede a la account de grupo o de usuario especificado permiso de acceso al contenedor de clave especificado. Esta opción puede tomar los modificadores siguientes:
|
-pc contenedor |
Crea un par de claves RSA públicas/privadas en el contenedor especificado. Esta opción puede tomar los modificadores siguientes:
|
-pd sección |
Descifra la sección de configuración. Este argumento puede tomar los siguientes parámetros:
|
-pdf sección webApplicationDirectory |
Descifra la sección de configuración especificada del archivo Web.config en el directorio físico (no virtual) especificado. |
-pe sección |
Cifra la sección de configuración especificada. Esta opción puede tomar los modificadores siguientes:
|
-pef section webApplicationDirectory |
Cifra la sección de configuración especificada del archivo Web.config en el directorio físico (no virtual) especificado. |
-pi archivo contenedor |
Importa un par de claves RSA públicas/privadas al container especificado desde el file XML especificado. Esta opción puede tomar los modificadores siguientes:
|
-pr cuenta del contenedor |
Quita a la account de grupo o de usuario especificado el permiso de acceso al contenedor de clave especificado. Esta opción puede tomar los modificadores siguientes:
|
-px archivo contenedor |
Exporta un par de claves RSA públicas/privadas del contenedor especificado al archivo XML especificado. Esta opción puede tomar los modificadores siguientes:
|
-pz contenedor |
Elimina el contenedor de claves especificado. Esta opción puede tomar el modificador siguiente:
|
Comentarios
Cuando hay varias versiones de ASP.NET instaladas en un equipo, se dice que las versiones ASP.NET se están ejecutando en paralelo. En este caso, es preciso configurar IIS para indicar qué versión de la ISAPI de ASP.NET (aspnet_isapi.dll) debe procesar una página en una aplicación ASP.NET. En IIS 7.0, tanto en el modo clásico como el modo integrado, la versión de CLR establecida para el grupo de aplicaciones determina qué versión de ASP.NET y qué versión asociada de CLR se utilizan para ejecutar una aplicación. En IIS 6.0, se usa una asignación de script para asociar una aplicación a una versión de ISAPI de ASP.NET y la versión de ISAPI determina, a su vez, qué versión de CLR se usa para ejecutar la aplicación.
Hay versiones de 32 bits y 64 bits de Aspnet_regiis.exe. Para Windows Vista y Windows Server 2008, puede ejecutar la versión de 32 bits de la herramienta en una instalación de 64 bits de IIS. Esto le permite ejecutar procesos de trabajo de 32 bits y de 64 bits mezclados en el mismo sistema de 64 bits. La siguiente tabla muestra los casos especiales y las limitaciones que se aplican al ejecutar la versión de 32 bits de la herramienta en una versión de IIS de 64 bits.
Versión de IIS |
Casos especiales para las versiones de 32 bits de Aspnet_regiis.exe |
---|---|
6.0 |
Puede ejecutar la versión de 32 bits de Aspnet_regiis.exe bajo una instalación de IIS 6.0 de 64 bits en Windows Server 2003 con las siguientes restricciones:
|
7.0 |
En Windows Vista, Windows Server 2008 o Windows 7, al ejecutar la versión de 32 bits de Aspnet_regiis.exe en IIS 7, la herramienta no establece automáticamente el atributo enable32BitAppOnWin64 del elemento applicationPools. En una instalación con un sistema operativo de 64 bits predeterminado, con Windows on Windows 64 habilitado, puede utilizar Aspnet_regiis.exe de 32 bits para configurar IIS 7, pero no podrá ejecutar ninguna aplicación de 32 bits, a menos que cambie explícitamente el atributo enable32BitAppOnWin64 para habilitar la ejecución de la aplicación en Windows on Windows 64. Para obtener más información sobre las opciones de configuración de IIS 7.0, consulte la documentación referente al elemento applicationPools en el archivo Applicationhost.config. |
La herramienta de registro de IIS en ASP.NET se utiliza generalmente con la opción -s o -sn para reasignar una aplicación ASP.NET a la versión de .NET Framework con la que está asociada. Utilice la opción -s para actualizar una aplicación en la ruta de acceso raíz especificada y en todos los subdirectorios. Si no quiere actualizar las aplicaciones en los subdirectorios, utilice la opción -sn.
Nota
El parámetro path hace referencia a la ruta de acceso raíz de la aplicación, no a la ruta de acceso física.Por ejemplo: W3SVC/1/ROOT/SampleApp1.
También puede utilizar la herramienta de registro de IIS de ASP.NET para ver información sobre ASP.NET. Para ver el estado y la ruta de instalación de todas las versiones de ASP.NET instaladas en el equipo, use la opción -lv.
La opción -norestart evita que se reinicie el Servicio de publicación World Wide Web tras la instalación o actualización de las asignaciones de script de ASP.NET. Use esta opción si está ejecutando varios sitios web en IIS y hay varios grupos de aplicaciones, y no desea que todos ellos se reinicien.
Todos los cambios realizados a través de la pestaña ASP.NET de la aplicación de consola de Internet Information Services también pueden causar que todos los grupos de aplicaciones se reciclen. Si desea cambiar la versión de ASP.NET que usa una aplicación sin que los grupos de aplicaciones se reciclen, ejecute los dos siguiente comandos para cambiar la versión.
aspnet_regiis -s w3svc/<instance>/root -norestart
iisapp /a <app pool> /r
La herramienta de registro de IIS de ASP.NET también puede usarse para instalar y desinstalar la versión vinculada de ASP.NET. Use la opción -i para instalar ASP.NET y actualizar las asignaciones de script de todas las aplicaciones existentes. Use la opción -ir para instalar ASP.NET sin actualizar las asignaciones de script. Para desinstalar la versión de ASP.NET asociada a la herramienta, utilice la opción -u. Si desea desinstalar todas las versiones de ASP.NET del equipo, utilice la opción -ua.
También puede utilizar la herramienta de registro de IIS de ASP.NET para ver información sobre ASP.NET. Para ver el estado y la ruta de instalación de todas las versiones de ASP.NET instaladas en el equipo, use la opción -lv. Si desea ver las rutas de acceso de todas las claves de metabase de IIS donde ASP.NET está asignada, utilice la opción -lk.
Puede usar Aspnet_regiis.exe para instalar y quitar script del lado cliente del sistema, como script para validación del lado cliente. Use la opción -c para instalar el script de cliente para la versión de ASP.NET que está asociada con la herramienta. (El script se instala en el subdirectorio Aspnet_client de cada directorio del sitio de IIS). Para quitar el script del lado cliente solamente de la versión de ASP.NET asociada con la herramienta, use la opción -e. Para quitar el script del lado cliente de todas las versiones instaladas de ASP.NET, utilice la opción -ea.
Cuando se utiliza la suplantación y si la cuenta de suplantación no tiene acceso de lectura a la metabase de IIS, se produce una excepción COMException y aparece el mensaje "Acceso denegado" al intentar tener acceso a DirectoryEntry. Esto puede suceder cuando el Subdirectorio de código de la aplicación existe en el directorio raíz de la aplicación. Este error también se puede producir cuando se asigna una aplicación a un recurso compartido UNC y la cuenta de UNC no tiene acceso de lectura a la metabase. En ambos casos, si se ejecuta la herramienta de Registro ISS de ASP.NET con la opción de -ga usuario de suplantación o cuenta de UNC, el problema se soluciona.
Para obtener más información sobre las asignaciones de script y las rutas de acceso raíz de la aplicación, vea la documentación de ISS en el sitio web de Microsoft.
Ejemplos
El siguiente comando instala la versión de ASP.NET asociada con la versión de la herramienta de registro de IIS en ASP.NET que está utilizando, y actualiza las aplicaciones ASP.NET existentes. En IIS 6.0, el comando actualiza las asignaciones de script de las aplicaciones ASP.NET existentes que estén asignadas a una versión anterior de ASP.NET. En IIS 7.0, el comando actualiza los controladores de modo clásico y de modo integrado en la metabase de IIS. También cambia los grupos de aplicaciones DefaultAppPool y Classic .NET AppPool para que usen el CLR de .NET Framework 4.
aspnet_regiis -i
El siguiente comando instala la versión de ASP.NET que está asociada con la herramienta sin actualizar las aplicaciones existentes. En IIS 7.0, el comando no actualiza la versión de .NET Framework asociada con los grupos de aplicaciones DefaultAppPool y Classic .NET AppPool.
aspnet_regiis -ir
El siguiente comando muestra el estado y la ruta de instalación de todas las versiones de ASP.NET instaladas en el equipo.
aspnet_regiis -lv
El siguiente comando actualiza una aplicación web y todas sus subaplicaciones para usar la versión de ASP.NET que está asociada con la herramienta. En IIS 6.0, se actualizan las asignaciones de script. En IIS 7.0, la aplicación se asigna a un nuevo grupo de aplicaciones.
aspnet_regiis -s W3SVC/1/ROOT/SampleApp1
El siguiente comando realiza las mismas funciones que el comando -s, sólo que no afecta a las aplicaciones en subdirectorios.
aspnet_regiis -sn W3SVC/1/ROOT/SampleApp1
El comando siguiente concede a las cuentas de usuario o grupo especificadas acceso a la metabase de IIS y a los demás directorios utilizados por ASP.NET.
aspnet_regiis -ga MyUserGroup W3SVC/1/ROOT/SampleApp1
Encontrar la versión correcta de Aspnet_regiis.exe
Aspnet_regiis.exe se instala en el directorio de Microsoft .NET Framework. Si en el equipo se ejecutan varias versiones de .NET Framework en paralelo, es posible que haya varias versiones de la herramienta instaladas. En la tabla siguiente se muestran las ubicaciones en las que se instala la herramienta en las diferentes versiones de .NET Framework.
Versión de .NET Framework |
Ubicación del archivo Aspnet_regiis.exe |
---|---|
.NET Framework 1 |
%windir%\.NET\Framework\v1.0.3705 |
.NET Framework 1.1 |
%windir%\Microsoft.NET\Framework\v1.1.4322 |
Versiones de .NET Framework 2.0, 3.0 y 3.5 (sistemas de 32 bits) |
%windir%\Microsoft.NET\Framework\v2.0.50727 |
Versiones de .NET Framework 2.0, 3.0 y 3.5 (sistemas de 64 bits) |
%windir%\Microsoft.NET\Framework64\v2.0.50727 |
.NET Framework versión 4 (sistemas de 32 bits) |
%windir%\Microsoft.NET\Framework\v4.0.30319 |
.NET Framework versión 4 (sistemas de 64 bits) |
%windir%\Microsoft.NET\Framework64\v4.0.30319 |
Los directorios para las versiones 3.0 y 3.5 de .NET Framework no tienen ninguna copia de la herramienta. Para obtener más información, vea la entrada How to set an IIS Application or AppPool to use ASP.NET 3.5 rather than 2.0 en el blog de Scott Hanselman.
Vea también
Conceptos
Otros recursos
Herramienta Registro de IIS en ASP.NET para la versión 3.5 de .NET Framework