Error WPRUI.exe “UiaRaiseNotificationEvent” no encontrado: causas, solución y alternativa con wpr.exe

Si Windows Performance Recorder no abre y muestra “UiaRaiseNotificationEvent no encontrado”, aquí tienes una guía práctica para identificar la causa, alinear la versión del ADK/WPT con tu sistema y, si es necesario, continuar con wpr.exe y wpa.exe sin la interfaz gráfica.

Índice

Resumen del problema

Al iniciar WPR UI (WPRUI.exe; a veces se escribe por error WRPUI.exe) aparece una alerta de punto de entrada ausente:

WRPUI.exe - Entry Point not Found
The procedure entry point UiaRaiseNotificationEvent could not be located in the dynamic library
...Windows Performance Toolkit\Windows PerformanceRecorderUI.dll

La función UiaRaiseNotificationEvent pertenece a la plataforma de UI Automation. Si el sistema operativo no la implementa o la DLL que exporta esa API es incompatible, WPR UI no puede iniciar.

Causas probables

  • Desfase entre WPT y el sistema: instalaste un Windows Performance Toolkit de una generación más reciente que tu Windows o Windows Server. El componente intenta llamar a una API de UIA inexistente en ese sistema.
  • Archivos del sistema dañados o desactualizados: uiautomationcore.dll y componentes relacionados de UI Automation están corruptos o con parches pendientes.
  • Conflictos de arquitectura o sombra de DLL: existe una copia no oficial de uiautomationcore.dll en el directorio de WPR o en una ruta anterior del PATH que se carga antes que la del sistema.
  • Entorno sin interfaz: en Server Core o instalaciones mínimas, la interfaz gráfica de WPR puede no ser compatible; en esos casos usa wpr.exe.

Diagnóstico y verificación

Antes de cambiar nada, valida estos puntos. Ganarás tiempo y evitarás reinstalaciones innecesarias.

Qué revisarCómoQué indicaAcción recomendada
Versión y compilación de WindowsEjecuta winver o en PowerShell:
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').DisplayVersion
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion').CurrentBuild
Confirma tu generación de Windows o Windows ServerAlinea WPT con la misma generación del sistema
Versión de UIAutomationCorePowerShell:
(Get-Item 'C:\Windows\System32\uiautomationcore.dll').VersionInfo.FileVersion
Detecta si está obsoleta o inconsistenteActualiza Windows y repara imagen si la versión es anómala
Conflictos de DLL en la carpeta de WPTBusca copias locales:
dir "C:\Program Files (x86)\Windows Kits\*" -recurse -filter uiautomationcore.dll
Si aparece una copia fuera de System32/SysWOW64Elimina la copia en sombra; debe cargarse la del sistema
Arquitectura y binariosVerifica si ejecutas WPR UI x64 en un sistema x64:
Observa la ruta de instalación bajo Windows Kits
Evita mezclar binarios x86 y x64Usa el ejecutable acorde a la arquitectura del sistema

Solución paso a paso

Aplica los pasos en orden, de menor a mayor impacto. Si en algún punto WPR UI abre correctamente, puedes detenerte.

  1. Alinear WPT con el sistema
    • Abre winver y anota edición y compilación de tu Windows o Windows Server.
    • Desinstala desde Programas y características todas las entradas de Windows Assessment and Deployment Kit y de Windows Performance Toolkit.
    • Elimina residuos en:
      • C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\
      • C:\Program Files (x86)\Windows Kits\10\bin\ (solo lo referente a WPT si persiste una carpeta con tu usuario)
    • Instala solo Windows Performance Toolkit de la misma generación que tu sistema. Evita combinar WPT de una edición muy reciente con sistemas antiguos.
    • Si usas Server Core o una imagen mínima, considera pasar directamente a wpr.exe en consola (más abajo).
  2. Actualizar Windows y controladores
    • Abre ConfiguraciónWindows UpdateBuscar actualizaciones.
    • Reinicia si se instalan acumulativas o de pila de servicio. Con esto suelen llegar versiones más recientes de UI Automation.
  3. Reparar archivos del sistema En Símbolo del sistema como administrador: sfc /scannow DISM /Online /Cleanup-Image /RestoreHealth Si hay actualizaciones pendientes atascadas, como último recurso: Dism /Image:C: /Cleanup-Image /RevertPendingActions Nota: este último comando revierte acciones pendientes; úsalo con cautela y tras validar ventanas de mantenimiento.
  4. Comprobar dependencias habituales
    • Instala o repara Microsoft Visual C++ Redistributable en ambas arquitecturas, x86 y x64.
    • Haz clic derecho sobre WPRUI.exeEjecutar como administrador.
  5. Descartar conflictos de DLL
    • Asegúrate de no tener uiautomationcore.dll copiada junto a WPRUI.exe, WPR.exe o WPA.exe.
    • La DLL correcta debe cargarse desde C:\Windows\System32 en sistemas x64 o desde C:\Windows\SysWOW64 para procesos de 32 bits.
    • Busca copias en el disco: powershell -NoProfile -Command "Get-ChildItem -Path C:\ -Filter uiautomationcore.dll -Recurse -ErrorAction SilentlyContinue | Select-Object FullName"
    • Si usas herramientas de diagnóstico, desde Process Explorer puedes ver el origen de la DLL en la ficha DLLs del proceso.
  6. Verificar presencia de la función Para confirmar si tu uiautomationcore.dll exporta UiaRaiseNotificationEvent, puedes usar utilidades como dumpbin o sigcheck si las tienes disponibles: dumpbin /exports C:\Windows\System32\uiautomationcore.dll | findstr /I UiaRaiseNotificationEvent Si la función no aparece, es probable que tu Windows no implemente esa API en la versión instalada. La solución es la alineación de WPT y/o la actualización del sistema, como se indica arriba.

Alternativa con la linea de comandos

Si la interfaz gráfica de WPR sigue sin abrir o trabajas en Server Core, puedes capturar trazas con wpr.exe y analizarlas en wpa.exe. Es el workaround recomendado para no bloquear tu incidencia.

Captura básica

wpr -start GeneralProfile -filemode
rem Reproduce el problema aquí...
wpr -stop C:\Temp\traza.etl

Perfiles útiles

PerfilCuándo usarloEjemplo
GeneralProfileDiagnóstico general de CPU, planificador, disco y redwpr -start GeneralProfile -filemode
CPUProblemas de uso alto o picos de CPUwpr -start CPU -filemode
DiskIOLatencias de disco, colas, IO anómalowpr -start DiskIO -filemode
FileIOAccesos a archivos, bloqueos y aperturas repetidaswpr -start FileIO -filemode
NetworkingCuellos de botella o pérdidas en redwpr -start Networking -filemode

Cuando termines de reproducir, detén la captura con wpr -stop apuntando a un ETL en una carpeta con espacio libre suficiente.

Captura de arranque

Para problemas de inicio, puedes habilitar perfiles de boot y reiniciar para que la traza cubra el arranque completo. Ejecuta en una ventana elevada y sigue las instrucciones de wpr para programar la captura. Recuerda desactivarla después para no mantener la instrumentación encendida.

Análisis con Windows Performance Analyzer

Abre wpa.exe, carga el .etl y agrega las vistas relevantes: CPU Usage (Sampled), Disk Usage, File I/O, Networking. Aunque la UI de WPR no funcione, WPA suele abrir correctamente y te permitirá avanzar con el análisis.

Por que ocurre este error

UiaRaiseNotificationEvent es una API destinada a notificar eventos de accesibilidad. Versiones más recientes de WPT hicieron su interfaz dependiente de esa función. En sistemas que no exponen dicha API, el cargador de Windows no encuentra el punto de entrada al iniciar WPRUI.exe, generando el mensaje.

En términos prácticos, hay dos frentes que resolver:

  1. Compatibilidad de versiones: instala un WPT que sea coetáneo de tu Windows o actualiza Windows hasta una compilación que incluya la API.
  2. Salud del sistema: repara la imagen y elimina DLLs en sombra para garantizar que se cargue uiautomationcore.dll de System32.

Pautas de compatibilidad orientativas

No necesitas memorizar números de compilación. Bastan estas reglas sencillas:

  • Si tu sistema es de una generación antigua, evita instalar WPT de una generación muy reciente.
  • En Windows modernos, mantén al menos las últimas actualizaciones acumulativas antes de instalar WPT.
  • En servidores con instalación mínima, prioriza wpr.exe y wpa.exe frente a la UI.

Ejemplos de automatizacion

Pequeños fragmentos para acelerar tareas repetitivas.

Revisión de versión de Windows y DLL de UIA

powershell -NoProfile -Command ^
  "$cv = Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion'; ^
   $os = '{0} {1} (Build {2}.{3})' -f $cv.ProductName,$cv.DisplayVersion,$cv.CurrentBuild,$cv.UBR; ^
   $uia = (Get-Item 'C:\Windows\System32\uiautomationcore.dll').VersionInfo.FileVersion; ^
   Write-Host 'Sistema:' $os; ^
   Write-Host 'UIAutomationCore:' $uia"

Limpieza dirigida de restos de WPT

rem Cerrar WPR, WPA y cualquier proceso relacionado
taskkill /im WPRUI.exe /f
taskkill /im WPA.exe /f

rem Eliminar restos comunes del toolkit
rmdir /s /q "C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit" 

Búsqueda de DLL en sombra

powershell -NoProfile -Command ^
  "Get-ChildItem -Path 'C:\Program Files (x86)\Windows Kits','C:\Program Files','C:\' -Filter uiautomationcore.dll -Recurse ^
   -ErrorAction SilentlyContinue | Select-Object FullName"

Errores relacionados y pistas

  • Puntos de entrada ausentes en otras DLL: si ves errores de entry point con otras funciones del sistema, refuerza la hipótesis de imagen dañada o desfase severo. sfc y DISM son prioritarios.
  • Incompatibilidad de interfaz: en sistemas sin shell o con componentes gráficos mínimos, es normal que WPR UI falle. No es un bloqueo: usa la línea de comandos.
  • Bitness: mezcla de binarios x86 y x64 puede provocar comportamientos extraños. Si ejecutas procesos de 32 bits, confirmarán DLLs desde SysWOW64.

Preguntas frecuentes

¿Reinstalar WPT sin más arregla el problema?
No si el origen es la incompatibilidad con la versión de Windows. La clave es alinear generación o actualizar el sistema.

¿Puedo seguir analizando sin la UI?
Sí. Captura con wpr.exe y analiza con wpa.exe. Es la vía recomendada en servidores o cuando la UI falla.

¿Por qué en otro servidor reproduzco el mismo error?
Probablemente ambos comparten el mismo desfase de versión o la misma imagen base sin la API de UIA requerida.

¿Dónde debo ver uiautomationcore.dll?
En C:\Windows\System32 para procesos de sesenta y cuatro bits y en C:\Windows\SysWOW64 para treinta y dos bits. Evita copias junto a los ejecutables.

¿Necesito todas las características del ADK?
No. Para WPR y WPA basta con seleccionar Windows Performance Toolkit durante la instalación.

Lista de verificacion rapida

  • Comprobar versión y compilación de Windows con winver o PowerShell.
  • Desinstalar ADK y WPT; borrar restos en Windows Kits.
  • Reinstalar WPT acorde a la generación del sistema.
  • Actualizar completamente Windows.
  • Ejecutar sfc y DISM para sanear la imagen.
  • Confirmar que no existen DLL en sombra y que se usa uiautomationcore.dll del sistema.
  • Si la UI falla, operar con wpr.exe y analizar con wpa.exe.

Resultado esperado

Una vez instalado un WPT compatible y con el sistema actualizado y reparado, WPR UI abrirá sin el error de entry point. Si no es viable cambiar la versión de WPT o actualizar el sistema, la combinación wpr.exe + wpa.exe permite continuar con normalidad el trabajo de grabación y análisis de rendimiento.

Guion de ejemplo para reproducir y capturar

Si necesitas documentar un caso, este guion de consola te ayuda a capturar una traza reproducible y ordenada:

@echo off
setlocal enabledelayedexpansion
set OUT=C:\Temp
if not exist "%OUT%" mkdir "%OUT%"
set ETL=%OUT%\wpr%DATE:~-4%%DATE:~3,2%%DATE:~0,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.etl
set ETL=%ETL: =0%

echo Iniciando WPR con perfil general en modo archivo...
wpr -start GeneralProfile -filemode
if errorlevel 1 (
echo Error al iniciar WPR. Revisa permisos y que wpr.exe este en PATH.
exit /b 1
)

echo Reproduce ahora el problema y presiona una tecla para detener.
pause

wpr -stop "%ETL%"
if errorlevel 1 (
echo Error al detener WPR. Revisa espacio en disco y permisos.
exit /b 1
)

echo Traza guardada en: %ETL%
echo Abre Windows Performance Analyzer y carga el ETL para analizar. 

Notas finales

  • Evita instalar simultáneamente varias generaciones de ADK/WPT en la misma máquina de análisis para no mezclar binarios.
  • Si trabajas con imágenes doradas de servidor, incorpora una prueba de WPRUI.exe tras aplicar actualizaciones, para detectar de inmediato cualquier desfase de UI Automation.
  • Documenta qué combinación de sistema y WPT ha funcionado en tu entorno para acelerar futuras puestas a punto.
Índice