Partilhar via


Resolver problemas de configuração

Este artigo descreve como resolver problemas de configuração do Windows Communication Foundation (WCF).

Algumas Chaves de Registo do Windows Communication Foundation não são Reparadas ao Executar uma Operação de Reparação MSI no .NET Framework 3.0

Se eliminar qualquer uma das seguintes chaves de registo:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelService 3.0.0.0

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelOperation 3.0.0.0

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ServiceModelEndpoint 3.0.0.0

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SMSvcHost 3.0.0.0

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC Bridge 3.0.0.0

As chaves não são recriadas se executar a reparação com o instalador do .NET Framework 3.0 iniciado a partir do applet Adicionar/Remover Programas no Painel de Controlo. Para recriar estas chaves corretamente, o utilizador tem de desinstalar e reinstalar o .NET Framework 3.0.

WMI Service Corruption Blocks Installation of the WMI provider (Instalação de Blocos de Danos do Serviço WMI do fornecedor WMI)

O WMI Service Corruption pode bloquear a instalação do fornecedor WMI do Windows Communication Foundation ao instalar o pacote .NET Framework 3.0. Durante a instalação, o instalador do Windows Communication Foundation não consegue registar o ficheiro .mof do WCF com o componente mofcomp.exe . Segue-se uma lista de sintomas:

  1. .NET Framework instalação 3.0 é concluída com êxito, mas o fornecedor WMI do WCF não está registado.

  2. É apresentado um evento de erro no registo de eventos da aplicação que referencia problemas ao registar o fornecedor WMI para WCF ou ao executar mofcomp.exe.

  3. O ficheiro de registo de configuração com o nome dd_wcf_retCA* no diretório %temp% do utilizador contém referências a falhas ao registar o fornecedor WMI do WCF.

  4. Uma exceção, como a seguinte, pode estar listada no registo de eventos ou configurar o ficheiro de registo de rastreio:

    ServiceModelReg [11:09:59:046]: System.ApplicationException: Resultado inesperado 3 ao executar E:\WINDOWS\system32\wbem\mofcomp.exe com "E:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof"

    ou:

    ServiceModelReg [07:19:33:843]: System.TypeInitializationException: O inicializador de tipo para "System.Management.ManagementPath" gerou uma exceção. >--- System.Runtime.InteropServices.COMException (0x80040154): A obtenção da fábrica de classe COM para componente com CLSID {CF4CC405-E2C5-4DDD-B3CE-5E7582D8C9FA} falhou devido ao seguinte erro: 80040154.

    ou:

    ServiceModelReg [07:19:32:750]: System.IO.FileNotFoundException: Não foi possível carregar o ficheiro ou a assemblagem 'C:\WINDOWS\system32\wbem\mofcomp.exe' ou uma das respetivas dependências. O sistema não consegue encontrar o ficheiro especificado.

    Nome do ficheiro: 'C:\WINDOWS\system32\wbem\mofcomp.exe

Os passos seguintes têm de ser seguidos para resolver o problema descrito anteriormente.

  1. Execute o Utilitário de Diagnóstico da WMI para reparar o serviço WMI. Para obter mais informações sobre como utilizar esta ferramenta, consulte Utilitário de Diagnóstico da WMI.

Repare a instalação do .NET Framework 3.0 com o applet Adicionar/Remover Programas localizado no Painel de Controlo ou desinstale/reinstale o .NET Framework 3.0.

Reparar .NET Framework 3.0 após a Instalação do .NET Framework 3.5

Se efetuar uma reparação do .NET Framework 3.0 depois de instalar o .NET Framework 3.5, os elementos de configuração introduzidos pelo .NET Framework 3,5 no machine.config são removidos. No entanto, o ficheiro web.config permanece intacto. A solução é reparar .NET Framework 3,5 após esta situação através do ARP ou utilizar a Ferramenta de Registo do Serviço de Fluxo de Trabalho (WFServicesReg.exe) com o /c comutador.

A Ferramenta de Registo do Serviço de Fluxo de Trabalho (WFServicesReg.exe) pode ser encontrada em %windir%\Microsoft.NET\framework\v3.5\ ou %windir%\Microsoft.NET\framework64\v3.5\

Configurar o IIS Corretamente para o Webhost WCF/WF após Instalar o .NET Framework 3.5

Quando a instalação do .NET Framework 3.5 não consegue configurar definições adicionais de configuração do IIS relacionadas com o WCF, regista um erro no registo de instalação e continua. Qualquer tentativa de executar aplicações WorkflowServices falhará, uma vez que as definições de configuração necessárias estão em falta. Por exemplo, o carregamento do xoml ou do serviço de regras pode falhar.

Para solucionar este problema, utilize a Ferramenta de Registo do Serviço de Fluxo de Trabalho (WFServicesReg.exe) com o /c comutador para configurar corretamente os mapas de script do IIS no computador. A Ferramenta de Registo do Serviço de Fluxo de Trabalho (WFServicesReg.exe) pode ser encontrada em %windir%\Microsoft.NET\framework\v3.5\ ou %windir%\Microsoft.NET\framework64\v3.5\

Não foi possível carregar o tipo "System.ServiceModel.Activation.HttpModule"

Não foi possível carregar o tipo "System.ServiceModel.Activation.HttpModule" da assemblagem "System.ServiceModel, Versão 3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"

Este erro ocorre se .NET Framework 4 estiver instalado e, em seguida, a Ativação HTTP do WCF estiver ativada. Para resolver o problema, execute o seguinte comando a partir da Linha de Comandos do Programador para Visual Studio:

aspnet_regiis.exe -i -enable