¿Ves “Application Popup” al iniciar Windows y un aviso que cita \SystemRoot\SysWow64\DRIVERS\WsResetDevice.sys
? En esta guía te explico por qué ocurre, cómo confirmarlo y el procedimiento seguro, probado y reversible para eliminar la referencia errónea en el Registro y así detener el evento recurrente en el Visor de eventos.
Contexto y síntoma
En algunos equipos, cada inicio registra repetidamente el evento “Application Popup” con identificador de evento de error asociado y un texto similar a:
\SystemRoot\SysWow64\DRIVERS\WsResetDevice.sys
A pesar de que el sistema pasa SFC y DISM sin errores, no muestra triángulos amarillos en el Administrador de dispositivos y está totalmente actualizado, el registro del evento persiste durante semanas. En un perfil local nuevo no se reproduce, lo que confunde porque sugiere problema de usuario; sin embargo, el origen real suele residir en una clave de máquina, no de perfil.
Qué es realmente ese aviso
El mensaje indica que Windows intentó cargar un componente en la pila de controladores y no lo encontró o no pudo inicializarlo. La ruta en el mensaje (SysWow64\DRIVERS
) es atípica para controladores de kernel, lo que refuerza la hipótesis de que se trata de una referencia de controlador de filtro mal registrada o huérfana.
La pista que lo aclara
Al abrir el Editor del Registro y navegar a la clase de dispositivos USB se encuentra esta clave:
HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}
Dentro aparece el valor UpperFilters con un único elemento: WsResetDevice.sys
o WsResetDevice
. Esa combinación es sospechosa porque:
- WSReset.exe es una utilidad legítima que reinicia Microsoft Store y no instala controladores de kernel.
- Un valor UpperFilters en la clase USB obliga a cargar el filtro al preparar el subsistema, lo que ocurre al inicio.
- Si el archivo no existe o no es un controlador válido, Windows registra el aviso y lo intentará en cada arranque.
Conclusión técnica
La causa más probable es una entrada de UpperFilters huérfana o incompatible en la clase de controladores USB. Esa entrada apunta a un archivo inexistente o inválido denominado WsResetDevice.sys
. Al no poder cargarlo, el sistema genera el “Application Popup” al inicio. Eliminar la referencia errónea detiene el comportamiento.
Solución confirmada
Eliminar (con copia de seguridad previa) el valor UpperFilters si contiene solo WsResetDevice
, o editarlo para quitar únicamente esa entrada si convive con otras. Tras reiniciar, el evento desaparece.
Preparación antes de tocar el Registro
Antes de cualquier modificación, implementa una estrategia de reversión:
- Crea un punto de restauración del sistema.
- Exporta la clave completa a un archivo
.reg
:reg export "HKLM\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}" "%userprofile%\Desktop\backupusbclass.reg" /y
Con esto podrás deshacer cualquier cambio en segundos.
Comprobaciones rápidas
Opcionalmente, confirma si el archivo citado existe. Si no está, la entrada es claramente huérfana.
dir C:\Windows\System32\drivers\WsResetDevice.sys
dir C:\Windows\SysWOW64\drivers\WsResetDevice.sys
En la gran mayoría de casos no aparecerá, porque ese archivo no pertenece a Windows ni a Microsoft Store.
Edición segura de UpperFilters
Sigue los pasos con cuidado:
- Abre regedit como administrador y ve a:
Equipo\HKEYLOCALMACHINE\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}
- Localiza el valor UpperFilters en el panel derecho.
- Haz doble clic para editar:
- Si UpperFilters solo contiene
WsResetDevice
oWsResetDevice.sys
, elimina el valor UpperFilters por completo. - Si hay varios nombres (una lista con saltos de línea), elimina solo
WsResetDevice
y deja intactos los demás.
- Si UpperFilters solo contiene
- Reinicia el equipo.
- Abre el Visor de eventos y comprueba que el aviso ha desaparecido.
Cuándo no deberías borrar todo el valor
No elimines otros filtros legítimos. En algunos equipos pueden figurar filtros de fabricantes (por ejemplo, software de seguridad de puerto USB, soluciones de virtualización o herramientas de auditoría). Si ves más entradas y no estás seguro, exporta la clave, documenta los nombres y elimina únicamente WsResetDevice
.
Atajo en consola para revisar y limpiar
Consolida el diagnóstico con comandos de línea:
rem Mostrar el contenido de UpperFilters
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}" /v UpperFilters
rem Hacer copia de seguridad de la clave
reg export "HKLM\SYSTEM\CurrentControlSet\Control\Class{36fc9e60-c465-11cf-8056-444553540000}" "%userprofile%\Desktop\backup\usb\class.reg" /y
Automatización con PowerShell
Para administradores que prefieren un procedimiento reproducible y auditable, este script realiza una copia de seguridad y elimina únicamente la entrada problemática si está sola o acompañada. Incluye salida explicativa:
# Ejecutar en PowerShell con privilegios elevados
$Key = "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}"
$Export = "$env:USERPROFILE\Desktop\backupusbclass.reg"
Copia de seguridad
reg export "HKLM\SYSTEM\CurrentControlSet\Control\Class{36fc9e60-c465-11cf-8056-444553540000}" \$Export /y | Out-Null
Write-Host "Copia de seguridad guardada en \$Export"
Leer UpperFilters
try {
\$val = Get-ItemProperty -Path \$Key -Name UpperFilters -ErrorAction Stop
} catch {
Write-Host "No existe UpperFilters. Nada que cambiar."
exit 0
}
Normalizar a lista
\$filters = @()
if (\$val.UpperFilters -is \[string]) { \$filters = @(\$val.UpperFilters) } else { \$filters = \$val.UpperFilters }
Buscar la entrada sospechosa (con o sin .sys)
\$targetNames = @("WsResetDevice","WsResetDevice.sys")
\$present = \$filters | Where-Object { \$targetNames -contains $\_ }
if (-not \$present) {
Write-Host "UpperFilters no contiene WsResetDevice. Sin cambios."
exit 0
}
Quitar solo la entrada objetivo
\$new = \$filters | Where-Object { \$targetNames -notcontains $\_ }
if (\$new\.Count -eq 0) {
Si era el único, eliminar completamente UpperFilters
Remove-ItemProperty -Path \$Key -Name UpperFilters -Force
Write-Host "Eliminado UpperFilters (contenía únicamente WsResetDevice). Reinicia el equipo."
} else {
Si hay más, conservarlos
Set-ItemProperty -Path \$Key -Name UpperFilters -Value \$new -Type MultiString
Write-Host "Eliminada la entrada WsResetDevice. Resto de filtros conservados. Reinicia el equipo."
}
Relación con la clase de dispositivos USB
La clave de clase utilizada corresponde a controladores USB. Colocar un filtro ahí impacta a todo el subsistema de puertos y dispositivos, por lo que el intento de carga sucede muy temprano y el fallo queda registrado incluso si no observas anomalías visibles como dispositivos sin controlador.
Cómo validar que el problema se ha resuelto
- Reinicia dos o tres veces el equipo para asegurar que el aviso no reaparece.
- En el Visor de eventos, filtra por origen “Application Popup” y comprueba la ausencia de entradas nuevas con esa ruta.
- Conecta un dispositivo USB y verifica funcionamiento normal.
Medidas de diagnóstico adicionales
Si a pesar del ajuste el aviso continúa, considera:
- Arranque limpio: desactiva servicios y aplicaciones de terceros para aislar software que registre filtros indebidamente.
- Reparación en sitio: una reinstalación de Windows conservando archivos y apps corrige pilas de controladores dañadas sin formatear.
- Escaneo sin conexión: ejecuta el análisis sin conexión de la solución de seguridad integrada para descartar restos maliciosos que hayan intentado anclar un filtro.
Buenas prácticas al tratar con filtros
- Mantén inventariado qué software de seguridad, virtualización o control de dispositivos instalas; muchos usan filtros legítimos y documentados.
- Evita limpiar a ciegas: documenta y respalda antes de tocar.
- Si sustituyes equipos, asegúrate de desinstalar correctamente herramientas que integren filtros para que sus instaladores retiren las entradas.
Tabla de decisiones
Situación observada | Acción recomendada | Efecto esperado |
---|---|---|
UpperFilters solo contiene la entrada sospechosa | Eliminar el valor completo | El aviso deja de registrarse tras reinicio |
UpperFilters contiene varias entradas | Editar y quitar únicamente la entrada sospechosa | Se mantiene la funcionalidad de otros filtros |
El archivo existe en la carpeta indicada | Escanear con seguridad y evaluar la legitimidad | Confirmar si es un remanente o un componente real |
La clave no tiene UpperFilters | No actuar; revisar otras clases de dispositivo | Descartar falso positivo y continuar diagnóstico |
Preguntas frecuentes
¿Es seguro borrar UpperFilters?
Sí, si el valor contiene únicamente la referencia falsa. Si hay más entradas, elimina solo la problemática. Siempre con copia de seguridad previa.
¿Por qué desaparece el aviso al usar un perfil nuevo?
Porque algunos programas ajustan configuraciones de clase desde instaladores que se ejecutan con privilegios de sistema; el perfil nuevo no toca esa clave, pero la clave está en la colmena de máquina. El síntoma puede parecer dependiente del usuario, aunque la raíz está a nivel de sistema.
¿Por qué aparece la ruta de la carpeta de redirección de aplicaciones?SysWow64
contiene binarios de compatibilidad y no es la ubicación típica para controladores de kernel. Por eso la ruta refuerza la hipótesis de un registro incorrecto.
¿Qué pasa si borro otra entrada legítima por error?
Restaura el archivo .reg
exportado o usa el punto de restauración. Se trata de una operación segura y reversible si has seguido las copias de seguridad.
Checklist de ejecución rápida
- Crear punto de restauración.
- Exportar la clave de clase de USB.
- Comprobar si el archivo existe.
- Eliminar o editar con precisión el valor de filtros superiores.
- Reiniciar y verificar en el Visor de eventos.
Resumen ejecutivo
El registro repetido de “Application Popup” citando WsResetDevice.sys
suele deberse a un valor de UpperFilters mal configurado en la clase de controladores USB. Basta con eliminar la referencia huérfana —o editar el valor para quitar solo esa entrada— tras realizar una copia de seguridad y crear un punto de restauración. La corrección es inmediata: al reiniciar, el evento deja de aparecer. Esta solución aborda la causa raíz y evita medidas más drásticas como reinstalaciones innecesarias.
Guía ampliada para profesionales
Si administras varios equipos, conviene incluir esta verificación en tus listas de control post-imagen o posmigración:
- Revisión de clases críticas: además de la clase USB, examina
HKLM\SYSTEM\CurrentControlSet\Control\Class
en busca de valores UpperFilters o LowerFilters con nombres sospechosos que no correspondan a proveedores reconocidos. - Auditoría de filtros activos: emplea herramientas de inventariado para listar servicios de tipo kernel driver y contrastarlos con su archivo binario en
System32\drivers
. - Política de desinstalación: define procedimientos para retirar software que instale filtros, asegurando que sus desinstaladores ejecuten limpieza en clave de clases.
- Supervisión de eventos: genera alertas cuando aparezcan “Application Popup” con rutas a
\SystemRoot\*
dentro de\SysWow64\DRIVERS
, patrón que a menudo indica entradas inválidas.
Análisis de causa raíz y prevención
La presencia de un nombre como WsResetDevice
en filtros superiores sugiere que algún programa —legítimo o no— registró equivocadamente un controlador con un identificador parecido a la herramienta de reinicio de la tienda. Las principales vías de entrada son instaladores fallidos, software experimental o paquetes mal empaquetados. Para prevenir incidentes similares:
- Evita instalar controladores desde fuentes no verificadas.
- Usa cuentas con privilegios mínimos para las tareas diarias.
- Mantén políticas de control de cambios y registro de lo instalado en cada estación.
Conclusión
Cuando un aviso persiste a pesar de diagnósticos estándar, mirar la pila de filtros de clase puede marcar la diferencia. En este caso, eliminar la entrada huérfana WsResetDevice
del valor UpperFilters en la clase USB resuelve el problema de raíz, preservando la estabilidad del sistema y evitando pasos de reparación más intrusivos.
Procedimiento detallado final
- Crear punto de restauración y exportar:
reg export "HKLM\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}" "%userprofile%\Desktop\backupusbclass.reg" /y
- Comprobar si existe el archivo citado:
dir C:\Windows\SysWOW64\drivers\WsResetDevice.sys
- Eliminar la referencia equivocada:
- En el Editor del Registro, ir a la clave de clase y editar UpperFilters.
- Si es la única entrada, borrar el valor completo.
- Si hay otras, quitar solo la cadena
WsResetDevice
.
- Reiniciar y verificar.
Con estos pasos, el sistema deja de intentar cargar un controlador inexistente y el Visor de eventos queda limpio de ese aviso en los inicios posteriores.