Erro “UiaRaiseNotificationEvent” no Windows Performance Recorder: como resolver

Introdução rápida: O erro “The procedure entry point UiaRaiseNotificationEvent could not be located…” no Windows Performance Recorder/Reader (WPR/WPRUI) aparece quando a versão do Windows Performance Toolkit não corresponde ao build do Windows ou quando há ficheiros de sistema corrompidos. Este guia completo mostra como identificar a causa, aplicar soluções testadas e evitar que o problema volte a surgir.

Índice

O que é o Windows Performance Recorder/Reader?

O WPR faz parte do Windows Performance Toolkit (WPT) e recolhe traces de desempenho em formato ETL, permitindo que administradores, programadores e entusiastas analisem gargalos de CPU, I/O, redes, apps UWP, arranque, entre outros. Já o Windows Performance Analyzer (WPA) abre esses ficheiros para investigação gráfica. O WPR existe em duas formas:

  • Interface gráfica (WPRUI.exe) – mais intuitiva, mas dependente de DLLs de UI modernas;
  • Linha de comando (wpr.exe) – ideal para servidores headless ou scripts automatizados.

Por que surge o erro de “Entry Point not Found”?

Desde o Windows 10 1709, a Microsoft expandiu a plataforma UI Automation com a função UiaRaiseNotificationEvent, usada por aplicações mais recentes para enviar notificações de acessibilidade a leitores de ecrã. Quando o WPRUI tenta chamar essa função mas a DLL UIAutomationCore.dll presente no sistema é antiga (ou quando a DLL da própria aplicação é de versão diferente), o carregamento falha e o Windows exibe a caixa de diálogo de erro.

As situações mais frequentes são:

  1. Instalação de WPT muito nova num Windows antigo (ex.: WPT 22621 em Windows 10 1607);
  2. Instalação de WPT antiga em Windows atualizado (ex.: WPT 17763 em Windows 11 23H2);
  3. Bibliotecas de tempo de execução Visual C++ ausentes ou corrompidas;
  4. Ficheiros de sistema alterados por ferramentas de terceiros ou danos em disco.

Sinais de que a raiz do problema é incompatibilidade de versões

  • O log do Visual Studio ou do Event Viewer → Windows Logs → Application exibe HRESULT 0xC0000139 STATUSENTRYPOINTNOT_FOUND apontando para WindowsPerformanceRecorderUI.dll;
  • Ao executar wpr.exe via CMD, não há erro — indicando que apenas a camada gráfica falha;
  • O ficheiro UIAutomationCore.dll na pasta %SystemRoot%\System32 possui data mais antiga que o build do sistema.

Guia passo a passo para corrigir

PassoAçãoDetalhes
Verificar compatibilidade de versõesAbra Configurações → Sistema → Informações e anote o Compilação do SO. Desinstale qualquer versão do WPT que não corresponda.A versão do pacote WPT está embutida no nome do instalador: Windows ADK 10.0.22621.1, por exemplo, corresponde ao Windows 10/11 22H2.
Reinstalar o Windows Performance ToolkitEm Configurações → Aplicativos, remova Windows Assessment & Deployment Kit (ADK) e o Windows Performance Toolkit. Reinicie.Baixe as versões atuais a partir do Centro de Download da Microsoft, selecione apenas Windows Performance Toolkit no assistente.
Instalar dependênciasAbra apps & recursos e confirme se Microsoft Visual C++ Redistributable 2015‑2022 (x86 e x64) surgem na lista. Se faltarem, instale-os.O redistributable é requisito do WPT 22621+. O instalador está dentro do próprio DVD do ADK em Redist\.
Atualizar o WindowsEm Windows Update, clique Procurar atualizações.Drivers de GPU antigos podem substituir DLLs do sistema; um patch cumulativo repõe as versões certificadas.
Executar como AdministradorClique com o botão direito em WRPUI.exe → Executar como administradorSe a conta atual tiver UAC restrito, o carregamento dinâmico de DLLs em %ProgramFiles% pode falhar sem privilégio elevado.
Reparar ficheiros de sistemaNo CMD (Admin) execute:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Estes comandos verificam assinaturas SHA‑256 dos binários protegidos e substituem versões irregulares a partir da imagem WinSxS.

Verificação de ficheiros DLL específicos

Se o SFC não reportar erros mas o problema persistir, abra o Windows Symbolic Debugger (WinDbg) e carregue manualmente WindowsPerformanceRecorderUI.dll. Ao digitar !analyze -v procure por linhas que citem LoadLibraryExW. Uma saída semelhante à abaixo confirma incompatibilidade:

ModLoad: WindowsPerformanceRecorderUI.dll
ModLoad: UIAutomationCore.dll
* ERROR: Symbol file could not be found. Defaulted to export symbols for UIAutomationCore.dll – 
* Entry point UiaRaiseNotificationEvent could not be located

Nesse caso, a diferença de versão fica explícita em FileVersion e ProductVersion nas Propriedades da DLL. Se o ficheiro da pasta de sistema for antigo, substitua-o aplicando o patch Tuesday mais recente ou copie temporariamente do diretório WinSxS correspondente.

Utilizar wpr.exe enquanto investiga

Trabalha num servidor legado que não pode ser atualizado? Basta usar o modo CLI:

wpr -start GeneralProfile -filemode
rem ... reproduza o problema ...
wpr -stop C:\Temp\meuTrace.etl

Copie o ETL para uma máquina de trabalho com Windows 10/11 atual e abra no WPA. Desta forma, a versão da UI deixa de ser um bloqueio, porque é a máquina de análise — não a de captura — que precisa ter a API UIAutomation recente.

Prevenção de incompatibilidades futuras

  • Mantenha o ADK/WPT alinhado ao ciclo de vida do Windows (LTSC = instale ADK correspondente ao LTSC; SAC = atualize ADK semestralmente).
  • Crie um snapshot da VM antes de instalar novas builds do WPT.
  • Configure políticas de grupo que desativem atualizações de driver não assinadas para reduzir DLLs substituídas.
  • Em ambientes corporativos, distribua o ADK via Configuration Manager ou Intune para garantir uniformidade.

Perguntas frequentes (FAQ)

Posso simplesmente copiar UIAutomationCore.dll de outro PC?

Não. Como DLL crítica, ela está registada no WRP (Windows Resource Protection) e a cópia manual causa violação de assinatura digital, gerando BSOD ou falhas de logon.

Existe patch isolado para WPT?

Não. O Windows Performance Toolkit é atualizado em conjunto com o ADK. Se necessita apenas do WPT, selecione-o no instalador do ADK e ignore outros componentes.

O erro aparece após uma atualização cumulativa — o que mudou?

A cumulativa provavelmente atualizou UIAutomationCore.dll. Se o WPT for muito antigo, deixe de funcionar. Instale então a versão de WPT que acompanha o novo build.

Resumo final

O erro UiaRaiseNotificationEvent Entry Point not Found ocorre sempre que existe desfasamento entre as versões do Windows Performance Toolkit, do Windows e das dependências Visual C++. Na maioria dos casos, basta remover a instalação antiga do WPT, instalar a edição cujo número de compilação coincide com o sistema operativo, garantir a presença dos redistributables e reparar ficheiros de sistema. Para cenários legados, utilize wpr.exe para captura e transfira o ETL para análise noutro equipamento. Seguindo este procedimento, o WPRUI voltará a abrir sem interrupções, permitindo diagnósticos de desempenho confiáveis.

Palavras‑chave: Windows Performance Recorder, Windows Performance Toolkit, UiaRaiseNotificationEvent, Windows 10, Windows 11, erro de entry point, UIAutomationCore.dll, WPT incompatível, solução de problemas, desempenho do Windows.

Índice