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.
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 delPATH
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é revisar | Cómo | Qué indica | Acción recomendada |
---|---|---|---|
Versión y compilación de Windows | Ejecuta 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 Server | Alinea WPT con la misma generación del sistema |
Versión de UIAutomationCore | PowerShell:(Get-Item 'C:\Windows\System32\uiautomationcore.dll').VersionInfo.FileVersion | Detecta si está obsoleta o inconsistente | Actualiza Windows y repara imagen si la versión es anómala |
Conflictos de DLL en la carpeta de WPT | Busca copias locales:dir "C:\Program Files (x86)\Windows Kits\*" -recurse -filter uiautomationcore.dll | Si aparece una copia fuera de System32/SysWOW64 | Elimina la copia en sombra; debe cargarse la del sistema |
Arquitectura y binarios | Verifica si ejecutas WPR UI x64 en un sistema x64: Observa la ruta de instalación bajo Windows Kits | Evita mezclar binarios x86 y x64 | Usa 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.
- 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).
- Abre
- Actualizar Windows y controladores
- Abre Configuración → Windows Update → Buscar actualizaciones.
- Reinicia si se instalan acumulativas o de pila de servicio. Con esto suelen llegar versiones más recientes de UI Automation.
- 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. - Comprobar dependencias habituales
- Instala o repara Microsoft Visual C++ Redistributable en ambas arquitecturas, x86 y x64.
- Haz clic derecho sobre
WPRUI.exe
→ Ejecutar como administrador.
- Descartar conflictos de DLL
- Asegúrate de no tener
uiautomationcore.dll
copiada junto aWPRUI.exe
,WPR.exe
oWPA.exe
. - La DLL correcta debe cargarse desde
C:\Windows\System32
en sistemas x64 o desdeC:\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.
- Asegúrate de no tener
- Verificar presencia de la función Para confirmar si tu
uiautomationcore.dll
exportaUiaRaiseNotificationEvent
, 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
Perfil | Cuándo usarlo | Ejemplo |
---|---|---|
GeneralProfile | Diagnóstico general de CPU, planificador, disco y red | wpr -start GeneralProfile -filemode |
CPU | Problemas de uso alto o picos de CPU | wpr -start CPU -filemode |
DiskIO | Latencias de disco, colas, IO anómalo | wpr -start DiskIO -filemode |
FileIO | Accesos a archivos, bloqueos y aperturas repetidas | wpr -start FileIO -filemode |
Networking | Cuellos de botella o pérdidas en red | wpr -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:
- Compatibilidad de versiones: instala un WPT que sea coetáneo de tu Windows o actualiza Windows hasta una compilación que incluya la API.
- Salud del sistema: repara la imagen y elimina DLLs en sombra para garantizar que se cargue
uiautomationcore.dll
deSystem32
.
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
ywpa.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
yDISM
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
yDISM
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 conwpa.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.