Erro "800703fa Operação ilegal tentada em uma chave de registro"

Sintoma

Uma operação no Microsoft SharePoint 2013 ou Microsoft SharePoint 2010 falha e você vê a seguinte mensagem de erro COMException registrada no ULS no SharePoint LogViewer:

[System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID {<GUID>} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion.  

Esse erro pode ocorrer em vários cenários diferentes. Por exemplo, esse erro pode ocorrer em cenários nos quais você vê as seguintes entradas de log:

11/03/2015 20:09:45.83 w3wp.exe (0x1A24) 0x46CC SharePoint Portal Server Microfeeds ada0j Unexpected
MicroBlogList.GetMicroBlogPostsForRePopulation http://mysite/personal/12345 permanent failure
Exception:
[System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID
{BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion. (Exception from HRESULT: 0x800703FA).
at Microsoft.SharePoint.Library.SPRequest..ctor()
at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(...)
at Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)
at Microsoft.SharePoint.Administration.SPFarm.get_RequestAny()
at Microsoft.SharePoint.SPSecurity.GetCurrentUserTokenNoApplicationPrincipalDelegated(SPWebApplication webApp, Uri siteUrl)
at Microsoft.SharePoint.SPSecurity.GetCurrentUserToken()
at Microsoft.SharePoint.SPSecurity.EnsureOriginatingUserToken()
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param)
at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode)
at Microsoft.Office.Server.UserProfiles.SPS2SAppContext.GetClientContext(...)
at Microsoft.Office.Server.UserProfiles.SPS2SAppExecutionContextBase.get_ClientContext()
at Microsoft.Office.Server.Microfeed.SPMicrofeedStore.Query(...)
at Microsoft.Office.Server.Microfeed.MicroBlogList.ExecuteRepopulationCamlQuery(...)
at Microsoft.Office.Server.Microfeed.MicroBlogList.GetMicroBlogPostsForRePopulation...)]
Handling an exception. Exception details: System.Runtime.InteropServices.COMException (0x800703FA): Retrieving the COM class factory for component with CLSID {BDEADF26-C265-11D0-BCED-00A0C90AB50F} failed due to the following error: 800703fa Illegal operation attempted on a registry key that has been marked for deletion. (Exception from HRESULT: 0x800703FA).  
at Microsoft.SharePoint.Library.SPRequest..ctor()  
at Microsoft.SharePoint.SPGlobal.CreateSPRequestAndSetIdentity(...)  
at Microsoft.SharePoint.SPRequestManager.GetContextRequest(SPRequestAuthenticationMode authenticationMode)  
at Microsoft.SharePoint.Administration.SPFarm.get_RequestAuthAny()  
at Microsoft.SharePoint.Administration.SPAcl`1.CalculatePermissions()  
at Microsoft.SharePoint.Administration.SPIisWebServiceApplication.CheckAccess(SPIisWebServiceApplicationRights rights)  
at Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplication.DoesUserHavePermissions(...)  
at Microsoft.SharePoint.Taxonomy.MetadataWebServiceApplication.GetChangedTermSets(...)  
at SyncInvokeGetChangedTermSets(Object , Object[] , Object[] )  
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)  
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)  
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)  
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)  
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

Motivo

Esse problema normalmente ocorre depois que um administrador usa uma conta de serviço para fazer logon no servidor para uma sessão interativa e, em seguida, faz logon. Por exemplo, um administrador pode fazer logon em um servidor WFE (Web Front End) usando a conta do farm e, em seguida, fazer logon. Essa atividade força as chaves do registro a serem descarregadas no perfil dessa conta. Essa condição torna as chaves indisponíveis para uso futuro.

Resolução

Para resolve esse problema, use um dos métodos a seguir.

Método 1

Não faça logon no servidor para sessões interativas usando uma conta de serviço.

Método 2

Desabilite o recurso relacionado do Serviço de Perfil de Usuário do Windows. Para fazer isso, siga estas etapas:

  1. Abra o editor de Política de Grupo (Gpedit.msc) no servidor afetado.

  2. Abra a pasta UserProfiles no seguinte caminho:

    Configuração> do computadorModelos administrativos>Sistema>Userprofiles

  3. Localize o Não descarregar com força o registro de usuário na configuração de logoff do usuário .

  4. Altere a configuração para Habilitado.

Informações adicionais

Para obter mais informações, confira o seguinte artigo do Blog da Equipe de Suporte dos Serviços Distribuídos do MSDN:

Um aplicativo COM+ pode parar de funcionar no Windows Server 2008 quando o usuário de identidade fizer logon

Ainda precisa de ajuda? Acesse a Comunidade do SharePoint.