Solucionar problemas de instalação

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

Algumas chaves do Registro do Windows Communication Foundation não são reparadas executando uma operação de reparo do MSI no .NET Framework 3.0

Se você excluir algumas das seguintes chaves do Registro:

  • 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 serão recriadas se você executar o reparo usando o instalador do .NET Framework 3.0 iniciado do miniaplicativo Adicionar/Remover Programas no Painel de Controle. Para recriar corretamente essas chaves, o usuário deverá desinstalar e reinstalar o .NET Framework 3.0.

O WMI Service Corruption bloqueia a instalação do provedor WMI

O WMI Service Corruption pode bloquear a instalação do provedor WMI do Windows Communication Foundation ao instalar do pacote do .NET Framework 3.0. Durante a instalação, o instalador do Windows Communication Foundation não é capaz de registrar o arquivo .mof do WCF usando o componente mofcomp.exe. Veja a seguir uma lista de sintomas:

  1. A instalação do .NET Framework 3.0 é concluída com sucesso, mas o provedor WMI do WCF não é registrado.

  2. Um evento de erro aparece no log de eventos do aplicativo que faz referência aos problemas registrando o provedor WMI para WCF ou executando mofcomp.exe.

  3. O arquivo de log de configuração chamado dd_wcf_retCA* no diretório %temp% do usuário contém referências a falhas para registrar o provedor WMI do WCF.

  4. Uma exceção como a seguinte pode ser listada no log de eventos ou no arquivo de log de rastreamento de configuração:

    ServiceModelReg [11:09:59:046]: System.ApplicationException: Unexpected result 3 executing E:\WINDOWS\system32\wbem\mofcomp.exe with "E:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModel.mof"

    ou:

    ServiceModelReg [07:19:33:843]: System.TypeInitializationException: The type initializer for 'System.Management.ManagementPath' threw an exception. ---> System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {CF4CC405-E2C5-4DDD-B3CE-5E7582D8C9FA} failed due to the following error: 80040154.

    ou:

    ServiceModelReg [07:19:32:750]: System.IO.FileNotFoundException: Could not load file or assembly 'C:\WINDOWS\system32\wbem\mofcomp.exe' or one of its dependencies. O sistema não pode encontrar o arquivo especificado.

    Nome de arquivo: 'C:\WINDOWS\system32\wbem\mofcomp.exe

As etapas a seguir devem ser seguidas para resolver o problema descrito anteriormente.

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

Repare a instalação do .NET Framework 3.0 usando o miniaplicativo Adicionar/Remover Programas localizado no Painel de Controle ou desinstale/reinstale o .NET Framework 3.0.

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

Se você fizer um reparo do .NET Framework 3.0 depois de instalar o .NET Framework 3.5, os elementos de configuração introduzidos pelo .NET Framework 3.5 em machine.config serão removidos. No entanto, o web.config permanecerá intacto. A solução alternativa é reparar o .NET Framework 3.5 depois disso por meio do ARP ou usar a Ferramenta de Registro do Serviço de Fluxo de Trabalho (WFServicesReg.exe) com a opção/c.

A Ferramenta de registro 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\

Configure o IIS corretamente para WCF/WF Webhost após instalar o .NET Framework 3.5

Quando a instalação do .NET Framework 3.5 não configurar parâmetros de configuração adicionais do IIS relacionados ao WCF, ela registrará um erro no log de instalação e continuará. Qualquer tentativa de executar aplicativos do WorkflowServices falhará, porque os parâmetros de configuração necessários estão faltando. Por exemplo, carregar xoml ou o serviço de regras pode falhar.

Para solucionar esse problema, use a Ferramenta de registro de serviço de fluxo de trabalho (WFServicesReg.exe) com a opção /c para configurar corretamente os mapeamentos de script do IIS no computador. A Ferramenta de registro 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\

Could not load type 'System.ServiceModel.Activation.HttpModule'

Não foi possível carregar o tipo ‘System.ServiceModel.Activation.HttpModule’ do assembly ‘System.ServiceModel, Version 3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’

Este erro ocorre se o .NET Framework 4 estiver instalado e, em seguida, a Ativação de HTTP do WCF for habilitada. Para resolver esse problema, execute o seguinte comando no Prompt de Comando do Desenvolvedor do Visual Studio:

aspnet_regiis.exe -i -enable