Dela via


Registreringsverktyget för ServiceModel (ServiceModelReg.exe)

Det här kommandoradsverktyget ger dig möjlighet att hantera registreringen av WCF- och WF-komponenter på en enda dator. Under normala omständigheter bör du inte behöva använda det här verktyget eftersom WCF- och WF-komponenter konfigureras när de installeras. Men om du har problem med tjänstaktivering kan du försöka registrera komponenterna med hjälp av det här verktyget.

Syntax

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

Kommentarer

Verktyget finns på följande plats:

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

Anteckning

När Registreringsverktyget för ServiceModel körs i Windows Vista kanske dialogrutan Windows-funktioner inte återspeglar att HTTP-aktiveringsalternativet för Windows Communication Foundation under Microsoft .NET Framework 3.0 är aktiverat. Du kan komma åt dialogrutan Windows-funktioner genom att klicka på Start, sedan klicka på Kör och sedan skriva Valfria funktioner.

I följande tabeller beskrivs de alternativ som kan användas med ServiceModelReg.exe.

Alternativ Beskrivning
-ia Installerar alla WCF- och WF-komponenter.
-ua Avinstallerar alla WCF- och WF-komponenter.
-r Reparerar alla WCF- och WF-komponenter.
-i Installerar WCF- och WF-komponenter som anges med –c.
-u Avinstallerar WCF- och WF-komponenter som anges med –c.
-c Installerar eller avinstallerar en komponent:

– httpnamespace – HTTP-namnområdesreservation
– tcpportsharing – TCP-portdelningstjänst
– tcpactivation – TCP-aktiveringstjänsten (stöds inte på .NET 4-klientprofilen)
– namedpipeactivation – Aktiveringstjänst för namngiven pipe (stöds inte på .NET 4-klientprofilen
– msmqactivation – MSMQ-aktiveringstjänsten (stöds inte på .NET 4-klientprofilen
– etw – ETW-händelsespårningsmanifest (Windows Vista eller senare)
-q Tyst läge (visa endast felloggning)
-v Utförligt läge.
-nologo Undertrycker upphovsrätten och banderollsmeddelandet.
-? Visar hjälptext

Åtgärda FileLoadException-felet

Om du har installerat tidigare versioner av WCF på datorn kan du få ett FileLoadFoundException felmeddelande när du kör verktyget ServiceModelReg för att registrera en ny installation. Detta kan inträffa även om du har tagit bort filer manuellt från den tidigare installationen, men lämnat machine.config-inställningarna intakta.

Felmeddelandet liknar följande.

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'  

Du bör notera från felmeddelandet att sammansättningen System.ServiceModel Version 2.0.0.0 installerades av en tidig version av Customer Technology Preview (CTP). Den aktuella versionen av System.ServiceModel-sammansättningen som släpptes är 3.0.0.0 i stället. Det här problemet uppstår därför när du vill installera den officiella WCF-versionen på en dator där en tidig CTP-version av WCF installerades, men inte avinstallerades helt.

ServiceModelReg.exe kan inte rensa tidigare versionsposter och kan inte heller registrera den nya versionens poster. Den enda lösningen är att manuellt redigera machine.config. Du kan hitta den här filen på följande plats.

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

Om du kör WCF på en 64-bitarsdator bör du också redigera samma fil på den här platsen.

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

Leta upp alla XML-noder i den här filen som refererar till "System.ServiceModel, Version=2.0.0.0", ta bort dem och eventuella underordnade noder. Spara filen och kör ServiceModelReg.exe löser problemet igen.

Exempel

I följande exempel visas hur du använder de vanligaste alternativen för ServiceModelReg.exe verktyget.

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