Comparteix via


Herramienta de registro serviceModel (ServiceModelReg.exe)

Esta herramienta de línea de comandos proporciona la capacidad de administrar el registro de componentes WCF y WF en una sola máquina. En circunstancias normales, no es necesario usar esta herramienta como componentes WCF y WF se configuran cuando se instalan. Pero si tiene problemas con la activación del servicio, puede intentar registrar los componentes mediante esta herramienta.

Syntax

ServiceModelReg.exe[(-ia|-ua|-r)|((-i|-u) -c:<command>)] [-v|-q] [-nologo] [-?]

Observaciones

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

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

Nota:

Cuando la herramienta de registro serviceModel se ejecuta en Windows Vista, es posible que el cuadro de diálogo Características de Windows no refleje que la opción activación HTTP de Windows Communication Foundation en Microsoft .NET Framework 3.0 esté activada. Para acceder al cuadro de diálogo Características de Windows , haga clic en Inicio y, a continuación, haga clic en Ejecutar y, a continuación, escriba OptionalFeatures.

En las tablas siguientes se describen las opciones que se pueden usar con ServiceModelReg.exe.

Opción Description
-ia Instala todos los componentes WCF y WF.
-ua Desinstala todos los componentes WCF y WF.
-r Repara todos los componentes WCF y WF.
-i Instala los componentes WCF y WF especificados con -c.
-u Desinstala los componentes WCF y WF especificados con -c.
-c Instala o desinstala un componente:

- httpnamespace: reserva de espacio de nombres HTTP
- tcpportsharing: servicio de uso compartido de puertos TCP
- tcpactivation: servicio de activación TCP (no admitido en el perfil de cliente de .NET 4)
- namedpipeactivation: servicio de activación de canalización con nombre (no admitido en el perfil de cliente de .NET 4)
- msmqactivation: servicio de activación msMQ (no admitido en el perfil de cliente de .NET 4)
- etw: manifiestos de seguimiento de eventos ETW (Windows Vista o posterior)
-q Modo silencioso (solo mostrar registro de errores)
-v Modo detallado.
-nologo Suprime los derechos de autor y el mensaje de banner.
-? Muestra texto de ayuda

Corrección del error FileLoadException

Si instaló versiones anteriores de WCF en el equipo, es posible que reciba un FileLoadFoundException error al ejecutar la herramienta ServiceModelReg para registrar una nueva instalación. Esto puede ocurrir incluso si ha quitado manualmente los archivos de la instalación anterior, pero dejó intacta la configuración de 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'

Debe tener en cuenta el mensaje de error de que el ensamblado System.ServiceModel Versión 2.0.0.0.0 se instaló mediante una versión temprana de Customer Technology Preview (CTP). La versión actual del ensamblado System.ServiceModel publicada es la 3.0.0.0 en su lugar. Por lo tanto, este problema se produce cuando se quiere instalar la versión oficial de WCF en una máquina donde se instaló una versión temprana de CTP de WCF, pero no completamente desinstalada.

ServiceModelReg.exe no puede limpiar las entradas de la versión anterior ni puede registrar las entradas de la nueva versión. La única solución consiste en editar manualmente machine.config. Puede encontrar este archivo en la siguiente ubicación.

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

Si ejecuta WCF en una máquina de 64 bits, también debe editar 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 los nodos secundarios. Guarde el archivo y vuelva a ejecutar ServiceModelReg.exe resuelve este problema.

Examples

En los ejemplos siguientes se muestra cómo usar las opciones más comunes de la herramienta ServiceModelReg.exe.

ServiceModelReg.exe -ia
  Installs all components
ServiceModelReg.exe -i -c:httpnamespace -c:etw
  Installs HTTP namespace reservation and ETW manifests
ServiceModelReg.exe -u -c:etw
  Uninstalls ETW manifests
ServiceModelReg.exe -r
  Repairs an extended install