Partage via


Outil d’inscription ServiceModel (ServiceModelReg.exe)

Cet outil en ligne de commande permet de gérer l’inscription des composants WCF et WF sur un seul ordinateur. Dans des circonstances normales, vous n’avez pas besoin d’utiliser cet outil en tant que composants WCF et WF configurés lors de l’installation. Toutefois, si vous rencontrez des problèmes avec l’activation du service, vous pouvez essayer d’inscrire les composants à l’aide de cet outil.

Syntaxe

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

Remarques

L’outil se trouve à l’emplacement suivant :

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

Note

Lorsque l’outil d’inscription ServiceModel est exécuté sur Windows Vista, la boîte de dialogue Fonctionnalités Windows peut ne pas refléter que l’option d’activation HTTP windows Communication Foundation sous Microsoft .NET Framework 3.0 est activée. La boîte de dialogue Fonctionnalités Windows est accessible en cliquant sur Démarrer, puis sur Exécuter , puis en tapant OptionalFeatures.

Les tableaux suivants décrivent les options qui peuvent être utilisées avec ServiceModelReg.exe.

Choix Descriptif
-ia Installe tous les composants WCF et WF.
-ua Désinstalle tous les composants WCF et WF.
-r Répare tous les composants WCF et WF.
-i Installe les composants WCF et WF spécifiés avec -c.
-u Désinstalle les composants WCF et WF spécifiés avec -c.
-c Installe ou désinstalle un composant :

- httpnamespace – Réservation d’espace de noms HTTP
- tcpportsharing – Service de partage de ports TCP
- tcpactivation – Service d’activation TCP (non pris en charge sur le profil client .NET 4)
- namedpipeactivation – Service d’activation de canal nommé (non pris en charge sur le profil client .NET 4)
- msmqactivation – Service d’activation MSMQ (non pris en charge sur le profil client .NET 4)
- etw – Manifestes de suivi d’événements ETW (Windows Vista ou version ultérieure)
-q Mode silencieux (affichage uniquement de la journalisation des erreurs)
-v Mode documenté.
-nologo Supprime le copyright et le message de bannière.
-? Affiche le texte d’aide

Correction de l’erreur FileLoadException

Si vous avez installé des versions antérieures de WCF sur votre ordinateur, vous risquez d’obtenir une FileLoadFoundException erreur lorsque vous exécutez l’outil ServiceModelReg pour inscrire une nouvelle installation. Cela peut se produire même si vous avez supprimé manuellement les fichiers de l’installation précédente, mais laissé les paramètres machine.config intacts.

Le message d’erreur est similaire à ce qui suit.

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'

Notez à partir du message d’erreur que l’assembly System.ServiceModel Version 2.0.0.0 a été installé par une version préliminaire de customer Technology Preview (CTP). La version actuelle de l’assembly System.ServiceModel publiée est 3.0.0.0 à la place. Par conséquent, ce problème est rencontré lorsque vous souhaitez installer la version officielle de WCF sur un ordinateur où une version CTP anticipée de WCF a été installée, mais pas complètement désinstallée.

ServiceModelReg.exe ne peut pas nettoyer les entrées de version antérieures, ni inscrire les entrées de la nouvelle version. La seule solution de contournement consiste à modifier manuellement machine.config. Vous pouvez localiser ce fichier à l’emplacement suivant.

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

Si vous exécutez WCF sur un ordinateur 64 bits, vous devez également modifier le même fichier à cet emplacement.

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

Recherchez tous les nœuds XML de ce fichier qui font référence à « System.ServiceModel, Version=2.0.0.0.0 », supprimez-les et tous les nœuds enfants. Enregistrez le fichier et réexécutez ServiceModelReg.exe résout ce problème.

Examples

Les exemples suivants montrent comment utiliser les options les plus courantes de l’outil 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