Freigeben über


ServiceModel Registration-Tool (ServiceModelReg.exe)

Dieses Befehlszeilentool bietet die Möglichkeit, die Registrierung von WCF- und WF-Komponenten auf einem einzelnen Computer zu verwalten. Unter normalen Umständen müssen Sie dieses Tool nicht verwenden, da WCF- und WF-Komponenten bei der Installation konfiguriert werden. Wenn jedoch bei der Dienstaktivierung Probleme auftreten, können Sie versuchen, die Komponenten mithilfe dieses Tools zu registrieren.

Syntax

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

Bemerkungen

Das Tool befindet sich an folgendem Speicherort:

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

Hinweis

Wenn das ServiceModel-Registrierungstool unter Windows Vista ausgeführt wird, ist im Dialogfeld Windows-Funktionen möglicherweise nicht ersichtlich, dass die Option für die Windows Communication Foundation-Http-Aktivierung unter Microsoft .NET Framework 3.0 aktiviert ist. Sie können das Dialogfeld Windows-Funktionen öffnen, indem Sie im Menü Start auf Ausführen klicken und anschließend OptionalFeatures eingeben.

Die folgenden Tabellen beschreiben die Optionen, die mit ServiceModelReg.exe verwendet werden können.

Option BESCHREIBUNG
-ia Installiert alle WCF- und WF-Komponenten.
-ua Deinstalliert alle WCF- und WF-Komponenten.
-r Repariert alle WCF- und WF-Komponenten.
-i Installiert mit -c angegebene WCF- und WF-Komponenten.
-u Deinstalliert mit -c angegebene WCF- und WF-Komponenten.
-c Installiert oder deinstalliert eine Komponente:

– httpnamespace – HTTP-Namespacereservierung
– tcpportsharing – TCP-Portfreigabedienst
– tcpactivation – TCP-Aktivierungsdienst (für das .NET 4-Clientprofil nicht unterstützt)
– namedpipeactivation – Named Pipe-Aktivierungsdienst (für das .NET 4-Clientprofil nicht unterstützt)
– msmqactivation – MSMQ-Aktivierungsdienst (für das .NET 4-Clientprofil nicht unterstützt)
– etw – ETW-Ereignisablaufverfolgungsmanifeste (Windows Vista oder höher)
-q Stiller Modus (nur Protokollierung von Anzeigefehlern)
-v Ausführlicher Modus.
-nologo Die Copyright- und Bannermeldung werden unterdrückt.
-? Zeigt Hilfetext an.

Beheben des FileLoadException-Fehlers

Wenn Sie frühere Versionen von WCF auf Ihrem Computer installiert haben, erhalten Sie möglicherweise einen FileLoadFoundException-Fehler, wenn Sie das ServiceModelReg-Tool ausführen, um eine neue Installation zu registrieren. Dies kann auch auftreten, wenn Sie Dateien von der vorherigen Installation manuell entfernt haben, aber die machine.config-Einstellungen unverändert gelassen haben.

Die Fehlermeldung lautet ungefähr folgendermaßen:

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'  

Die Meldung sollte angeben, dass die System.ServiceModel Version 2.0.0.0-Assembly mit einem frühen CTP (Customer Technology Preview)-Release installiert wurde. Die aktuelle Version der System.ServiceModel-Assembly lautet jedoch 3.0.0.0. Dieser Fehler tritt auf, wenn Sie das offizielle Release von WCF auf einem Computer installieren möchten, auf dem bereits ein frühes CTP-Release von WCF installiert war, das jedoch nicht vollständig deinstalliert wurde.

ServiceModelReg.exe kann keine vorherigen Versionseinträge bereinigen und die Einträge der neuen Version nicht registrieren. Die einzige Problemumgehung besteht darin, „machine.config“ manuell zu bearbeiten. Sie finden diese Datei am folgenden Speicherort.

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

Wenn Sie WCF auf einem 64-Bit-Computer ausführen, sollten Sie die gleiche Datei ebenfalls an diesem Speicherort bearbeiten.

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

Suchen Sie XML-Knoten in dieser Datei, die sich auf „System.ServiceModel, Version=2.0.0.0“ beziehen, und löschen Sie diese und alle untergeordneten Knoten. Speichern Sie die Datei, und führen Sie ServiceModelReg.exe erneut aus, um dieses Problem zu beheben.

Beispiele

In den folgenden Beispielen wird gezeigt, wie die häufigsten Optionen des Tools ServiceModelReg.exe verwendet werden.

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