À chaque démarrage de Windows 11, l’Observateur d’événements affiche « Application Popup / ID 1060 ». Ce guide pas‑à‑pas montre comment identifier et supprimer la référence orpheline WsResetDevice.sys dans le Registre pour retrouver un démarrage propre et silencieux.
Symptômes observés
Dans Observateur d’événements → Journaux Windows → Système, plusieurs événements « Application Popup » avec l’ID 1060 apparaissent à chaque boot. Le message pointe un pilote introuvable :
\SystemRoot\SysWow64\DRIVERS\WsResetDevice.sys
Les commandes d’intégrité système ne détectent rien d’anormal :
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
Dans Gestionnaire de périphériques, aucun périphérique n’est en défaut.
Cause technique (en bref)
Windows tente de charger un filtre de pilote déclaré dans la valeur UpperFilters ou LowerFilters d’une classe de périphériques et échoue si le binaire n’existe plus sur le disque. Ici, la clé de classe USB :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}
contient UpperFilters = WsResetDevice.sys. Ce pilote n’est pas standard ; il s’agit d’un résidu d’un logiciel tiers ou d’un utilitaire lié à la réinitialisation du Microsoft Store. Résultat : à chaque démarrage, Windows journalise l’erreur 1060.
Solution rapide : vue d’ensemble
Voici l’itinéraire de résolution, du diagnostic à la correction définitive.
| Étape | Objectif | Action détaillée |
|---|---|---|
| Tester avec un nouveau compte local | Isoler un problème de profil utilisateur | Ouvrir cmd en admin :net user <Nom> <MotDePasse> /add Se connecter avec ce compte et vérifier l’Observateur d’événements.→ Si l’erreur disparaît, le profil d’origine est en cause. |
| Identifier l’entrée fautive | Localiser la référence au pilote manquant | Clé : ...Control\Class\{36fc9e60-c465-11cf-8056-444553540000} (USB).Valeur : UpperFilters = WsResetDevice.sys. |
| Sauvegarder puis supprimer l’entrée | Éliminer la référence orpheline | Créer un point de restauration ou exporter la clé. Supprimer la valeur UpperFilters si elle ne contient que WsResetDevice.sys, sinon retirer uniquement cet élément de la liste multi‑chaînes. |
| Redémarrer et contrôler | Valider la résolution | Après redémarrage, l’événement 1060 ne doit plus apparaître. |
| (Optionnel) Démarrage en mode minimal | Détecter un logiciel tiers qui réécrirait l’entrée | Effectuer un Clean Boot via msconfig puis réactiver services/programmes un à un si l’erreur revenait. |
| (Optionnel) Réparation sur place | Restaurer les composants Windows sans perte de données | Lancer setup.exe depuis une ISO de la même version de Windows 11 et choisir Conserver fichiers et applications. |
Procédure détaillée pas à pas
Créer un point de restauration (recommandé)
Avant toute modification du Registre :
- Rechercher « Créer un point de restauration » → sélectionner le lecteur système → Configurer → Activer la protection du système.
- Cliquer sur Créer et nommer le point (ex. : « Avant suppression UpperFilters »).
En PowerShell (admin), si la Protection du système est active :
Checkpoint-Computer -Description "Avant-UpperFilters-USB" -RestorePointType "MODIFY_SETTINGS"
Tester rapidement avec un nouveau compte local
Ce test élimine toute corruption spécifique au profil utilisateur original.
net user TestLocal P@ssw0rd! /add
Se connecter avec TestLocal, ouvrir l’Observateur d’événements → Système et filtrer sur l’ID 1060. Si l’erreur n’apparaît pas, revenez sur le profil principal et poursuivez la correction de la clé de classe.
Trouver l’entrée UpperFilters problématique
Deux méthodes complémentaires :
Méthode graphique (Regedit)
- Ouvrir regedit (Win+R →
regedit). - Aller à :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}. - Dans le panneau droit, repérer
UpperFilters. Si la donnée vautWsResetDevice.sys(ou contient ce nom parmi d’autres), c’est la source de l’erreur.
Méthode en ligne de commande (rapide et traçable)
En CMD (admin) :
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}" /v UpperFilters
En PowerShell (admin) :
$k = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}'
(Get-ItemProperty -Path $k -Name UpperFilters -ErrorAction SilentlyContinue).UpperFilters
Si vous souhaitez élargir la recherche à toutes les classes de périphériques pour repérer d’éventuelles références orphelines supplémentaires :
Get-ChildItem 'HKLM:\SYSTEM\CurrentControlSet\Control\Class' |
ForEach-Object {
$uf = (Get-ItemProperty -Path $_.PsPath -Name UpperFilters -ErrorAction SilentlyContinue).UpperFilters
if ($uf -and ($uf -match 'WsResetDevice(\.sys)?')) {
[PSCustomObject]@{ Classe = $_.PSChildName; Cle = $_.PsPath; UpperFilters = ($uf -join ', ') }
}
} | Format-Table -AutoSize
Sauvegarder puis supprimer (ou corriger) UpperFilters
Important : la valeur UpperFilters est de type REG_MULTI_SZ (liste). Il existe deux cas :
- La valeur ne contient que
WsResetDevice.sys: vous pouvez supprimer entièrementUpperFilters. - La valeur contient d’autres filtres légitimes (ex. : d’un antivirus, d’un pilote clavier/souris avancé) : supprimez uniquement l’entrée
WsResetDevice.syset laissez les autres intactes.
Exporter d’abord la clé (filet de sécurité)
reg export "HKLM\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}" "%USERPROFILE%\Desktop\USB_Class_Backup.reg" /y
Suppression via Regedit
- Double‑cliquez sur
UpperFilters. - Si
WsResetDevice.sysest le seul élément, cliquez sur Supprimer (entièrement) la valeurUpperFilters. - Sinon, supprimez uniquement la ligne
WsResetDevice.sysdans la liste, puis validez.
Suppression ciblée en PowerShell (propre et scriptable)
Le bloc suivant retire WsResetDevice.sys tout en préservant les autres filtres, ou supprime complètement UpperFilters s’il ne restait que cette chaîne.
$key = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class\{36fc9e60-c465-11cf-8056-444553540000}'
$val = (Get-ItemProperty -Path $key -Name UpperFilters -ErrorAction SilentlyContinue).UpperFilters
if ($val) {
$new = $val | Where-Object { $_ -notmatch '^WsResetDevice(\.sys)?$' }
if ($new.Count -eq 0) {
Remove-ItemProperty -Path $key -Name UpperFilters -ErrorAction SilentlyContinue
Write-Host "UpperFilters supprimé (ne contenait que WsResetDevice.sys)."
} else {
Set-ItemProperty -Path $key -Name UpperFilters -Value $new
Write-Host "WsResetDevice.sys retiré. Autres filtres conservés: $($new -join ', ')"
}
} else {
Write-Host "Aucune valeur UpperFilters détectée."
}
Redémarrer et contrôler
Redémarrez le PC puis vérifiez :
- Observateur d’événements → Système → Filtrer le journal courant… → ID des événements : 1060, Source : Application Popup.
- Le journal doit être vierge de nouveaux 1060. Les anciens événements restent visibles, c’est normal.
Contrôle rapide en PowerShell :
Get-WinEvent -LogName System | Where-Object { $_.Id -eq 1060 -and $_.ProviderName -eq 'Application Popup' } | Select-Object TimeCreated, Message -First 10
(Optionnel) Empêcher la réapparition : démarrage en mode minimal
Si un logiciel réécrit la valeur à chaque démarrage :
- Win+R →
msconfig→ onglet Services → cocher Masquer tous les services Microsoft → Désactiver tout. - Onglet Démarrage → Ouvrir le Gestionnaire des tâches → désactiver les éléments non essentiels.
- Redémarrer et observer si l’ID 1060 revient. Réactiver progressivement pour isoler l’élément fautif.
(Optionnel) Réparation sur place de Windows 11
Si l’erreur persiste malgré tout (cas rare), exécutez une réparation sur place :
- Monter une image ISO de la même édition/version de Windows 11.
- Lancer
setup.exe→ choisir Conserver fichiers et applications. - Suivre l’assistant. À l’issue, revérifier l’ID 1060.
Pourquoi l’erreur survient‑elle ?
La valeur UpperFilters/LowerFilters permet à des pilotes « filtre » d’intercepter ou d’étendre les opérations d’une pile de périphériques (ici, classe USB Device). Si le fichier .sys associé au service référencé a été supprimé (désinstallation incomplète, nettoyage agressif, etc.), Windows conserve l’entrée dans le Registre mais ne peut plus charger le pilote au démarrage : l’événement « Application Popup »/1060 est alors émis.
Le GUID {36fc9e60-c465-11cf-8056-444553540000} identifie la classe USB. WsResetDevice.sys n’est pas livré par Windows ; c’est typiquement un résidu d’outil tiers ou d’un composant associé au reset du Microsoft Store, resté orphelin après une mise à jour ou une désinstallation.
Mesures préventives
- Créer un point de restauration avant toute modification du Registre.
- Mettre à jour régulièrement pilotes et firmwares depuis les sources officielles.
- Désinstaller proprement les logiciels de périphériques (utilitaire de désinstallation dédié, ou Applications et fonctionnalités).
- Énumérer périodiquement les pilotes installés :
pnputil /enum-drivers - Effectuer un scan antivirus/antimalware si un binaire système inconnu est mentionné dans un événement.
Scripts prêts à l’emploi
Audit + correction automatisée (avec sauvegarde)
Ce script PowerShell (à exécuter en admin) crée un point de restauration, sauvegarde les clés concernées, puis retire uniquement WsResetDevice.sys de toutes les classes où il serait présent.
# 1) Point de restauration (si activé)
try { Checkpoint-Computer -Description "Fix-1060-UpperFilters" -RestorePointType "MODIFY_SETTINGS" } catch {}
# 2) Parcours des classes
$root = 'HKLM:\SYSTEM\CurrentControlSet\Control\Class'
$find = 'WsResetDevice(.sys)?'
$hits = @()
Get-ChildItem $root | ForEach-Object {
$uf = (Get-ItemProperty -Path $*.PsPath -Name UpperFilters -ErrorAction SilentlyContinue).UpperFilters
if ($uf -and ($uf -match $find)) {
$hits += $*
}
}
if ($hits.Count -eq 0) {
Write-Host "Aucune référence UpperFilters à WsResetDevice.sys trouvée."
return
}
# 3) Sauvegarde + correction
foreach ($h in $hits) {
$pathReg = $h.PSPath
$pathTxt = $h.Name
$backup = "$env:USERPROFILE\Desktop\Backup-$($h.PSChildName)-UpperFilters.reg"
# Export .reg
& reg.exe export ($pathTxt -replace 'HKEY_LOCAL_MACHINE','HKLM') $backup /y | Out-Null
$uf = (Get-ItemProperty -Path $pathReg -Name UpperFilters -ErrorAction SilentlyContinue).UpperFilters
$new = $uf | Where-Object { $_ -notmatch '^WsResetDevice(.sys)?$' }
if ($new.Count -eq 0) {
Remove-ItemProperty -Path $pathReg -Name UpperFilters -ErrorAction SilentlyContinue
Write-Host "[$($h.PSChildName)] UpperFilters supprimé (ne contenait que WsResetDevice.sys). Sauvegarde: $backup"
} else {
Set-ItemProperty -Path $pathReg -Name UpperFilters -Value $new
Write-Host "[$($h.PSChildName)] WsResetDevice.sys retiré. UpperFilters = $($new -join ', '). Sauvegarde: $backup"
}
}
Vérifier l’absence de nouveaux événements 1060
Get-WinEvent -LogName System |
Where-Object { $_.Id -eq 1060 -and $_.ProviderName -eq 'Application Popup' } |
Select-Object TimeCreated, Id, ProviderName, Message -First 20
Bonnes pratiques d’édition du Registre
- Ne supprimez jamais des filtres de sécurité/antivirus reconnus sans certitude. Recherchez d’abord la documentation du fournisseur.
- Conservez vos fichiers .reg de sauvegarde jusqu’à stabilisation complète du système.
- Si vous voyez aussi une clé de service orpheline (ex. :
HKLM\SYSTEM\CurrentControlSet\Services\WsResetDevice) sansImagePathvalide, supprimez-la après sauvegarde pour éviter d’autres avertissements.
Dépannage avancé
Le message mentionne un autre chemin que SysWow64
L’événement peut référencer \SystemRoot\System32\drivers\... ou un chemin complet. La logique reste la même : rechercher la valeur de filtre (souvent le nom du service du pilote, avec ou sans suffixe .sys) et corriger la liste.
La valeur UpperFilters contient plusieurs entrées
C’est normal pour certaines piles (clavier, stockage, USB). Supprimez uniquement l’entrée orpheline. Le script ci‑dessus gère ce cas automatiquement.
Le fichier WsResetDevice.sys existe réellement
Si le binaire est présent mais invalide/signature corrompue, préférez la suppression de la référence (UpperFilters) plutôt que la réinstallation du pilote, à moins d’avoir le package d’origine et un besoin fonctionnel légitime. L’objectif est de restaurer une pile USB saine et standard.
Après correction, l’erreur réapparaît au prochain boot
Un service ou un logiciel réinjecte la valeur. Utilisez un Clean Boot, l’outil Autoruns (onglets Drivers/Services) ou un traçage de modifications du Registre (ex. : Planificateur de tâches + export périodique de la clé) pour identifier l’auteur. Désinstallez ou reconfigurez l’élément en cause.
Vérifications post‑correction
- Démarrage à froid → aucun nouvel événement 1060.
- Les périphériques USB (stockage, clavier/souris, hubs) fonctionnent normalement.
pnputil /enum-driversne liste pas de package inexistant apparent.- Les outils de diagnostic SFC/DISM restent « intègres ». Aucun impact attendu.
FAQ courte
« Application Popup », c’est quoi ?
C’est une source d’événements du journal Système qui signale des alertes au démarrage ou en session, par exemple l’absence d’un pilote attendu.
Pourquoi l’erreur ne s’affiche‑t‑elle pas à l’écran ?
Parce que c’est un message de journalisation silencieuse, non bloquant : l’OS poursuit le démarrage mais consigne l’incident.
Supprimer complètement UpperFilters, est‑ce risqué ?
Uniquement si d’autres entrées utiles y figurent. D’où la sauvegarde préalable et la suppression ciblée de WsResetDevice.sys quand c’est une liste multi‑chaînes.
Et si le GUID de classe est différent ?
La méthode demeure : chercher UpperFilters/LowerFilters dans la classe qui journalise l’erreur, puis retirer l’entrée orpheline.
Résumé express
- L’ID 1060 se déclenche quand un filtre de pilote déclaré n’existe plus sur le disque.
- Dans ce cas,
WsResetDevice.sysest référencé dans la classe USB{36fc9e60-...}. - Sauvegarder, supprimer
UpperFilters(ou seulement l’élément incriminé), redémarrer. - Contrôler l’absence de nouveaux 1060. En cas de récidive, isoler un logiciel qui réécrit l’entrée.
Cas pratique complet (exemple consolidé)
- Créer un point de restauration et exporter la clé de classe USB.
- Vérifier la présence de
WsResetDevice.sysdansUpperFilters. - Supprimer l’entrée via Regedit ou PowerShell (préserver les autres filtres).
- Redémarrer et auditer le journal Système pour l’ID 1060.
- Prévenir la réapparition (Clean Boot si nécessaire, désinstallation propre des logiciels de pilotes).
Résultat attendu
Après suppression de la référence orpheline UpperFilters = WsResetDevice.sys dans la classe USB, le journal Système ne contient plus de nouveaux événements Application Popup / ID 1060. Le démarrage redevient propre et silencieux, sans impact négatif sur les périphériques USB.
Annexe : commandes utiles (mémo)
| But | Commande |
|---|---|
| Lister l’événement 1060 | Get-WinEvent -LogName System | ? {$_.Id -eq 1060 -and $_.ProviderName -eq 'Application Popup'} |
| Exporter la clé de classe USB | reg export "HKLM\...\{36fc9e60-c465-11cf-8056-444553540000}" "%USERPROFILE%\Desktop\USB_Class_Backup.reg" /y |
| Lire UpperFilters (CMD) | reg query "HKLM\...\{36fc9e60-c465-11cf-8056-444553540000}" /v UpperFilters |
| Lire UpperFilters (PowerShell) | (gp "HKLM:\...\{36fc9e60-c465-11cf-8056-444553540000}").UpperFilters |
| Créer un point de restauration | Checkpoint-Computer -Description "Fix-1060" -RestorePointType "MODIFY_SETTINGS" |
| Énumérer les pilotes installés | pnputil /enum-drivers |
En appliquant cette procédure méthodique (sauvegarde, suppression ciblée, contrôle), vous éliminez de façon durable l’erreur « Application Popup / ID 1060 » liée à WsResetDevice.sys sous Windows 11, sans perturber la pile USB ni les autres pilotes légitimes.

