Nástroj ServiceModel Registration (ServiceModelReg.exe)
Tento nástroj příkazového řádku umožňuje spravovat registraci komponent WCF a WF na jednom počítači. Za normálních okolností byste neměli tento nástroj používat, protože komponenty WCF a WF jsou nakonfigurovány při instalaci. Pokud však dochází k problémům s aktivací služby, můžete zkusit zaregistrovat komponenty pomocí tohoto nástroje.
Syntax
ServiceModelReg.exe[(-ia|-ua|-r)|((-i|-u) -c:<command>)] [-v|-q] [-nologo] [-?]
Poznámky
Nástroj najdete v následujícím umístění:
%SystemRoot%\Microsoft.Net\Framework\v3.0\Windows Communication Foundation\
Poznámka
Při ServiceModel Registration Tool je spuštěna v systému Windows Vista, dialogové okno Funkce systému Windows nemusí odrážet, že Windows Communication Foundation HTTP Activation možnost v rámci rozhraní Microsoft .NET Framework 3.0 je zapnuta. Do dialogového okna Funkce systému Windows se dostanete tak, že kliknete na Start, kliknete na Spustit a zadáte NepovinnéFeatury.
Následující tabulky popisují možnosti, které se dají použít s ServiceModelReg.exe.
Možnost | Popis |
---|---|
-ia |
Nainstaluje všechny komponenty WCF a WF. |
-ua |
Odinstaluje všechny komponenty WCF a WF. |
-r |
Opraví všechny komponenty WCF a WF. |
-i |
Nainstaluje komponenty WCF a WF zadané pomocí –c. |
-u |
Odinstaluje komponenty WCF a WF zadané pomocí –c. |
-c |
Nainstaluje nebo odinstaluje komponentu: – httpnamespace – rezervace oboru názvů HTTP – tcpportsharing – služba sdílení portů TCP – tcpactivation – aktivační služba TCP (nepodporovaná v profilu klienta .NET 4) - namedpipeactivation – služba aktivace pojmenovaného kanálu (nepodporovaná v profilu klienta .NET 4 – msmqactivation – aktivační služba MSMQ (nepodporovaná v profilu klienta .NET 4) – etw – manifesty trasování událostí Trasování událostí pro Windows (Windows Vista nebo novější) |
-q |
Tichý režim (zobrazení pouze protokolování chyb) |
-v |
Podrobný režim. |
-nologo |
Potlačí autorská práva a zprávu banneru. |
-? |
Zobrazí text nápovědy. |
Oprava chyby FileLoadException
Pokud jste na svém počítači nainstalovali předchozí verze WCF, může dojít FileLoadFoundException
k chybě při spuštění nástroje ServiceModelReg pro registraci nové instalace. K tomu může dojít i v případě, že jste ručně odebrali soubory z předchozí instalace, ale nastavení machine.config jste nechali beze změny.
Chybová zpráva je podobná následující.
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'
V chybové zprávě byste měli poznamenat, že sestavení System.ServiceModel verze 2.0.0.0 bylo nainstalováno v dřívější verzi Customer Technology Preview (CTP). Aktuální vydaná verze sestavení System.ServiceModel je místo toho 3.0.0.0. K tomuto problému proto dochází, když chcete nainstalovat oficiální verzi WCF na počítači, kde byla nainstalována dřívější verze CTP WCF, ale ne úplně odinstalována.
ServiceModelReg.exe nemůže vyčistit položky předchozí verze ani zaregistrovat položky nové verze. Jediným alternativním řešením je ručně upravit machine.config. Tento soubor můžete najít v následujícím umístění.
%windir%\Microsoft.NET\Framework\v2.0.50727\config\machine.config
Pokud používáte WCF na 64bitovém počítači, měli byste také upravit stejný soubor v tomto umístění.
%windir%\Microsoft.NET\Framework64\v2.0.50727\config\machine.config
Vyhledejte v tomto souboru všechny uzly XML, které odkazují na System.ServiceModel, version=2.0.0.0, odstraňte je a všechny podřízené uzly. Uložte soubor a znovu spusťte ServiceModelReg.exe tento problém vyřešíte.
Příklady
Následující příklady ukazují, jak používat nejběžnější možnosti nástroje 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