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