Herramienta de registro de ServiceModel (ServiceModelReg.exe)

Esta herramienta de la línea de comandos proporciona la capacidad de administrar el registro de ServiceModel en un equipo único.

ServiceModelReg.exe [-i[r | ru] | -u | -ua | -r | -s:<path> | -sn:<path> | -k:<path> | -kn:<path> | -lv | -lk | -vi] [-q | -v] [-nologo] [-?]

Notas

La herramienta se puede encontrar en la ubicación siguiente:

%SystemRoot%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\

ms732012.note(es-es,VS.100).gifNota:
Cuando la herramienta de registro de ServiceModel se ejecuta en Windows Vista, el diálogo Características de Windows podría no reflejar que la opción Activación HTTP de Windows Communication Foundation HTTP en Microsoft .NET Framework 3.0 está activada. Se puede obtener acceso al cuadro de diálogo Características de Windows hacienda clic en Inicio, a continuación, en Ejecutar y escribiendo OptionalFeatures.

Las tablas siguientes describen las opciones que se pueden utilizar con ServiceModelReg.exe.

Opción Descripción

-i

Registra esta versión de WCF y asignaciones de secuencia de comandos de actualización en la raíz de metabase de Internet Information Services (IIS) y para todas las asignaciones de secuencia de comandos de la raíz. Las asignaciones de secuencia de comandos de versiones más bajas se actualizan a esta versión.

-ir

Registra esta versión de WCF, sólo registro. No instala asignaciones de scripts WCF en IIS.

-iru

Registra esta versión de WCF. Si hay aplicaciones existentes que utilicen WCF, no actualice sus asignaciones de secuencia de comandos en IIS.

-u

Anula el registro de esta versión de WCF. Las asignaciones de secuencia de comandos de esta versión se reasignan a la versión restante más alta de WCF instalada en el equipo.

-ua

Anula el registro de todas las versiones de WCF en el equipo.

-r

Registra de nuevo esta versión de WCF y actualiza las asignaciones de secuencia de comandos en la raíz de la metabase de IIS y para todas las asignaciones de secuencia de comandos bajo la raíz. Las asignaciones de secuencia de comandos existentes se actualizan a esta versión sin tener en cuenta las versiones originales.

-s:<ruta de acceso>

Registra asignaciones de secuencia de comandos para esta versión de WCF en la ruta de acceso especificada, de forma recursiva.

-sn:<ruta de acceso>

Registra asignaciones de secuencia de comandos para esta versión de WCF en la ruta de acceso especificada, de forma no recursiva.

-k:<ruta de acceso>

Quita todas las asignaciones de secuencia de comandos a cualquier versión de WCF de la ruta de acceso especificada, de forma recursiva.

-kn:<ruta de acceso>

Quita todas las asignaciones de secuencia de comandos a cualquier versión de WCF de la ruta de acceso especificada, de forma no recursiva.

-lv

Hace una lista de todas las versiones de WCF que están registradas en el equipo, con estado y ruta de instalación.

-lk

Hace una lista de las rutas de acceso de todas las claves de metabase de IIS a las cuales WCF tiene una asignación de secuencia de comandos, junto con la versión. No se muestran las claves que heredan asignaciones de secuencias de comandos WCF de una clave primaria.

-vi

Comprueba la instalación de componentes de destino y genera un informe. Los componentes pueden estar en los estados siguientes: desconocido, no instalado, valor predeterminado instalado o valor personalizado instalado.

-y

No pida confirmación antes de registrar los componentes o de registrarlos de nuevo.

-q

Modo silencio (resultado reducido).

-v

Modo detallado.

-nologo

Suprime el mensaje del banner y el copyright.

Corregir el error FileLoadException

Si ha instalado versiones anteriores de WCF en su equipo, puede obtener un error FileLoadFoundException al ejecutar la herramienta ServiceModelReg para registrar una nueva instalación. Esto puede pasar aun cuando ha quitado manualmente los archivos de la instalación anterior, pero ha dejado intactos los valores machine.config.

El mensaje de error es similar al siguiente.

Error: System.IO.FileLoadException: Could not load file or assembly 'System.ServiceModel, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'System.ServiceModel, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

Debería observar en el mensaje de error que el ensamblado de la versión 2.0.0.0 de System.ServiceModel fue instalado por un lanzamiento anterior de Customer Technology Preview (CTP). La versión actual del ensamblado System.ServiceModel que se ha lanzado es 3.0.0.0. Por consiguiente, encontrará este problema cuando desee instalar la versión oficial de WCF en un equipo donde se instaló una versión CTP anterior de WCF, pero no se desinstaló completamente.

ServiceModelReg.exe no puede limpiar las entradas de versión anteriores, ni puede registrar las entradas de la nueva versión. La única solución alternativa es modificar manualmente machine.config. Encontrará este archivo en la ubicación siguiente.

%windir%\Microsoft.NET\Framework\v2.0.50727\config\machine.config 

Si está ejecutando WCF en un equipo de 64 bits, también debe modificar el mismo archivo en esta ubicación.

%windir%\Microsoft.NET\Framework64\v2.0.50727\config\machine.config 

Busque los nodos XML de este archivo que hagan referencia a "System.ServiceModel, Version=2.0.0.0", elimínelos y elimine también los nodos secundarios. Guarde el archivo y el problema se resolverá volviendo a ejecutar ServiceModelReg.exe.

Ejemplos

Los ejemplos siguientes muestran cómo utilizar las opciones -s y -k de la herramienta ServiceModelReg.exe.

ServiceModelReg.exe -s:W3SVC/1/ROOT/SampleApp1
ServiceModelReg.exe -k:W3SVC/1/ROOT/SampleApp1