Herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe)

Actualización: noviembre 2007

Cuando se ejecutan varias versiones de .NET Framework simultáneamente en un único equipo, la versión de las API de servidor de Internet (ISAPI) de ASP.NET asignada a una aplicación ASP.NET determina qué versión de Common Language Runtime (CLR) se utiliza para la aplicación. La herramienta Registro de IIS en ASP.NET (Aspnet_regiis.exe) permite que un programa administrador o de instalación pueda actualizar fácilmente las asignaciones de secuencias de comandos de una aplicación ASP.NET para que señalen la versión de ISAPI (API de servidor de Internet) de ASP.NET asociada a la herramienta. Esta herramienta también se puede utilizar para mostrar el estado de todas las versiones de ASP. NET instaladas, para registrar la versión de ASP.NET que se corresponde con la herramienta, para crear directorios de secuencias de comandos de cliente y para realizar otras operaciones de configuración.

Nota

.NET Framework incluye dos herramientas de registro de IIS: una para los sistemas estándar y otra para los sistemas de 64 bits. La herramienta para los sistemas de 64 bits está ubicada en el directorio Framework64 del directorio Microsoft.NET dentro de la carpeta Windows; por ejemplo, C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727 contiene la herramienta Registro de IIS.

aspnet_regiis [options]

Opciones

Opción

Descripción

-c

Instala las secuencias de comandos de cliente para ASP.NET en el subdirectorio aspnet_client de cada uno de los directorios de Internet Information Services (IIS), por ejemplo, secuencias de comandos de validación del cliente.

Sólo se instalan las secuencias de comandos del cliente de la versión de ASP.NET asociada a Aspnet_regiis.exe.

-disable

Deshabilita ASP.NET en la consola de seguridad de IIS.

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 las secuencias de comandos del cliente para ASP.NET del subdirectorio aspnet_client de cada uno de los directorios de sitio IIS.

Sólo se quitan las secuencias de comandos del cliente de la versión de ASP.NET asociada a Aspnet_regiis.exe.

-ea

Quita las secuencias de comandos del cliente de todas las versiones de ASP.NET del subdirectorio aspnet_client de cada uno de los directorios de sitio IIS.

-enable

Habilita ASP.NET en la consola de seguridad de IIS.

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.

Esta opción no está disponible en las versiones de ASP.NET anteriores a la versión 2.0 de ASP.NET.

-i

Instala la versión de ASP.NET asociada a Aspnet_regiis.exe y actualiza las asignaciones de secuencias de comandos ubicadas en la raíz de la metabase de IIS y por debajo de ésta.

Sólo se actualizan las asignaciones de secuencias de comandos de las aplicaciones que utilizan una versión anterior de ASP.NET. Las aplicaciones que utilizan una versión posterior no se ven afectadas.

-ir

Instala la versión de ASP.NET asociada a Aspnet_regiis.exe y sólo registra ASP.NET en IIS.

Esta opción no actualiza las asignaciones de secuencias de comandos. Para instalar ASP.NET y actualizar dichas asignaciones, utilice la opción -i.

-k path

Quita las asignaciones de secuencias de comandos (de todas las versiones de ASP.NET) de todas las aplicaciones ASP.NET ubicadas en la ruta de acceso raíz de la aplicación especificada y en los subdirectorios de la misma.

-kn path

Quita las asignaciones de secuencias de comandos (de todas las versiones de ASP.NET) solamente de la aplicación ASP.NET ubicada en la ruta de acceso raíz de la aplicación especificada.

Esta opción no afecta a las aplicaciones de los subdirectorios de la path especificada.

-lk

Enumera la ruta de acceso y la versión de todas las claves de metabase de IIS asignadas a ASP.NET.

No se muestran las claves que heredan asignaciones de secuencias de comandos 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

Impide el reinicio del Servicio de publicación en World Wide Web después de instalar o actualizar mapas de la secuencia de comandos de ASP.NET. Si no utiliza esta opción, se reciclan todos los grupos de aplicaciones.

Utilice esta opción con las opciones -i o -r cuando se reinicie manualmente el proceso de trabajo de IIS.

-r

Actualiza todas las asignaciones de secuencias de comandos ubicadas en la metabase de IIS y por debajo de ésta para que señalen la versión de la ISAPI de ASP.NET asociada a Aspnet_regiis.exe.

Todas las asignaciones de secuencias existente se actualizan para señalar la versión ISAPI de ASP.NET asociada con la herramienta de registro IIS de ASP.NET, independientemente de la versión actual.

-s path

Instala la asignación de secuencias de comandos que señala la versión de la ISAPI de ASP.NET asociada a Aspnet_regiis.exe en todas las aplicaciones ASP.NET ubicadas en la ruta de acceso raíz especificada de la aplicación y en sus subdirectorios. Se actualizan todas las asignaciones de secuencias de comandos de la ruta de acceso especificada y por debajo de ésta que utilicen una versión anterior de la ISAPI de ASP.NET.

-sn path

Instala la asignación de secuencias de comandos que señala la versión de la ISAPI de ASP.NET asociada a la herramienta de la aplicación ASP.NET que se encuentra en la ruta de acceso raíz especificada de la aplicación. Se actualizan todas las asignaciones de secuencias de comandos de la ruta de acceso especificada que utilicen una versión anterior de la ISAPI de ASP.NET.

Esta opción no afecta a las aplicaciones de los subdirectorios de path.

-u

Desinstala la versión de ASP.NET que está asociada con la herramienta de registro IIS de ASP .NET del equipo. Las asignaciones de secuencias de comandos de esta versión de la ISAPI de ASP.NET vuelven a asignarse automáticamente a la versión más reciente de la ISAPI de ASP.NET instalada.

-ua

Desinstala todas las versiones de ASP.NET del equipo.

-?

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+

Permite el acceso remoto a la configuración de ASP.NET en el equipo.

-config-

Deshabilita el acceso remoto a la configuración de ASP.NET en el equipo.

-pa cuenta del contenedor

Concede a la account del usuario o grupo especificado permiso para tener acceso al container de clave especificado. Este argumento acepta los modificadores opcionales siguientes:

  • -pku Sustituye un contenedor especificado por el usuario por el contenedor de equipo predeterminado.

  • -csp provider   Especifica el proveedor de contenedores que se va a utilizar.

  • -fullEspecifica que se debería agregar acceso total, en lugar del acceso de sólo lectura predeterminado.

-pc contenedor

Crea un par de claves RSA públicas/privadas en el contenedor especificado. Este argumento acepta los modificadores opcionales siguientes:

  • -size keySize   Especifica el tamaño de la clave. El valor predeterminado son 1024 bytes.

  • -pkuSustituye un contenedor especificado por el usuario por el contenedor de claves predeterminado en el equipo.

  • -expEspecifica las claves privadas que deben poder exportarse.

  • -csp provider   Especifica el proveedor de contenedores que se va a utilizar.

-pd sección

Descifra la sección de configuración. Este argumento acepta los parámetros opcionales siguientes:

  • -app virtualPath   Especifica que el descifrado debería producirse en el nivel de la ruta de acceso incluida.

  • -location subPath   Especifica el subdirectorio para descifrar.

  • -pkmEspecifica que debería descifrarse el archivo Machine.config en lugar del archivo Web.config.

-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. Este argumento acepta los modificadores opcionales siguientes:

  • -prov provider   Especifica el proveedor de cifrado que se va a utilizar.

  • -app virtualPath   Especifica que el cifrado debería producirse en el nivel de la ruta de acceso incluida.

  • -location subPath   Especifica el subdirectorio para cifrar.

  • -pkmEspecifica que debería cifrarse el archivo Machine.config en lugar del archivo Web.config.

-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. Este argumento acepta los modificadores opcionales siguientes:

  • -pku Sustituye un contenedor especificado por el usuario por el contenedor de equipo predeterminado.

  • -expEspecifica que se pueden exportar claves privadas.

  • -csp provider   Especifica el proveedor de contenedores que se va a utilizar.

-pr cuenta del contenedor

Quita el permiso para la account del usuario o grupo especificado para tener acceso al container de clave especificado. Este argumento acepta los modificadores opcionales siguientes:

  • -pku Sustituye un contenedor especificado por el usuario por el contenedor de equipo predeterminado.

  • -csp provider   Especifica el proveedor de contenedores que se va a utilizar.

-px archivo contenedor

Exporta un par de claves RSA públicas/privadas del contenedor especificado al archivo XML especificado. Este argumento acepta los modificadores opcionales siguientes:

  • -pku Sustituye un contenedor especificado por el usuario por el contenedor de equipo predeterminado.

  • -csp provider   Especifica el proveedor de contenedores que se va a utilizar.

-pz contenedor

Elimina el contenedor de claves especificado. Este argumento acepta el modificador opcional siguiente:

  • -pku Sustituye un contenedor especificado por el usuario por el contenedor de equipo predeterminado.

Comentarios

Cuando hay varias versiones de ASP.NET instaladas en un equipo, se dice que ASP.NET se está ejecutando simultáneamente. En este caso, Internet Information Services (IIS) necesita conocer qué versión de la ISAPI de ASP.NET (aspnet_isapi.dll) debe procesar una página en una aplicación ASP.NET. La versión de la ISAPI de ASP.NET asociada a una aplicación ASP.NET determina la versión de Common Language Runtime que se utiliza para la aplicación. Una aplicación ASP.NET está asociada a una versión de la ISAPI de ASP.NET mediante una asignación de secuencias de comandos en IIS. Para simplificar el proceso de configuración de una aplicación ASP.NET, cada versión de ASP.NET incluye una versión vinculada de Aspnet_regiis.exe.

Nota

Con cada versión de .NET Framework se incluye una versión única de Aspnet_regiis.exe. Cada versión de esta herramienta sólo puede aplicarse a su versión asociada de .NET Framework, por lo que debe asegurarse de que utiliza la versión adecuada de la herramienta para configurar una aplicación ASP.NET.

La herramienta IIS de 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. Para actualizar las asignaciones de secuencias de comandos de todas las aplicaciones ASP.NET existentes en el equipo al mismo tiempo, utilice la opción -r.

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.

Por el contrario, puede utilizar la herramienta de registro IIS de ASP.NET para eliminar las asignaciones de secuencias de comandos (de cualquier versión de ASP.NET) de una aplicación utilizando la opción -k o -kn y especificando la ruta de acceso raíz de la aplicación. Si la ruta de acceso raíz especificada hereda su asignación de secuencia de comandos de una ruta de acceso raíz primaria, las opciones -k y -kn no tienen ningún efecto.

La opción -norestart evita que se reinicie el Servicio de publicación en World Wide Web tras la instalación o actualización de la secuencia de comandos de ASP.NET. Utilice esta opción si no desea reciclar todos los grupos de aplicaciones. Si está ejecutando varios sitios Web en IIS, en varios grupos de aplicaciones, y no desea que se reinicien todos, debería utilizar esta opción.

Observe que cualquier cambio realizado utilizando la ficha de ASP.NET en la aplicación de consola de Internet Informaction Services también provocará que todos los grupos de aplicaciones se reciclen. Si desea cambiar la versión de ASP.NET que utiliza una aplicación sin que se reciclen todos los grupos de aplicaciones, ejecute los dos comandos siguientes para cambiar la versión.

aspnet_regiis -s w3svc/<instance>/root -norestart
iisapp /a <app pool> /r

También puede utilizar la herramienta de registro IIS de ASP.NET para instalar y desinstalar la versión vinculada de ASP.NET. Utilice la opción -i para instalar ASP.NET y para actualizar las asignaciones de secuencias de comandos de todas las aplicaciones ASP.NET existentes. Utilice la opción -ir para instalar ASP.NET sin actualizar las asignaciones de secuencias de comandos. 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 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 su equipo, utilice la opción -lv. Si desea ver las rutas de acceso de todas las claves de metabase de IIS asignadas a ASP.NET, utilice la opción -lk.

Las secuencias de comandos del cliente (la validación del cliente, por ejemplo), pueden instalarse y quitarse utilizando Aspnet_regiis.exe. Utilice la opción -c para instalar las secuencias de comandos del cliente para la versión de ASP.NET asociada a la herramienta en el subdirectorio Aspnet_client de todos los directorios de sitio IIS. Si sólo desea quitar las secuencias de comandos del cliente de la versión de ASP.NET asociada a la herramienta, utilice la opción -e. Para quitar las secuencias de comandos del cliente de todas las versiones instaladas de ASP.NET, utilice la opción -ea.

Cuando se utiliza la suplantación, 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 la ejecución simultánea en ASP.NET, vea Compatibilidad con la ejecución simultánea en ASP.NET. Para obtener más información sobre los mapas de la secuencia de comandos 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 en la aplicación SampleApp1 y en todas sus subaplicaciones las asignaciones de secuencias de comandos que señalan la versión de ASP.NET asociada mediante la herramienta.

aspnet_regiis -s W3SVC/1/ROOT/SampleApp1

El siguiente comando solamente actualiza las asignaciones de secuencias de comandos de la aplicación SampleApp1, sin que ello afecte a las aplicaciones ubicadas en los subdirectorios.

aspnet_regiis -sn W3SVC/1/ROOT/SampleApp1

El siguiente comando instala la versión de ASP.NET asociada a la herramienta de registro IIS de ASP.NET y actualiza las asignaciones de secuencias de comandos de todas las aplicaciones ASP.NET existentes. Tenga en cuenta que sólo se ven afectadas las aplicaciones que, en la actualidad, tienen una versión anterior de ASP.NET asignada.

aspnet_regiis -i

El siguiente comando instala la versión de ASP.NET asociada a la herramienta, pero no actualiza las asignaciones de secuencias de comandos de las aplicaciones ASP.NET existentes.

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

Vea también

Referencia

Herramientas de .NET Framework

Otros recursos

Ejecución simultánea