Le même registre Windows est-il partagé entre tous les profils utilisateur ?

J’ai deux profils utilisateur sur mon PC Windows 10, un profil développeur et un profil normal. Dans le profil développeur, j’ai exécuté un fichier .reg pour ajouter un élément au menu contextuel qui ouvre une instance de Windows Terminal avec un prompt Git Bash actif.

À ma surprise, le menu contextuel dans l’autre profil Windows affichait aussi la nouvelle option de menu, mais quand je cliquais dessus, une erreur disait qu’il ne peut pas accéder au chemin ou fichier spécifié. C’est parce que je n’ai pas Windows Terminal installé dans le profil normal. Et supprimer les clés de registre en question dans le profil normal supprime aussi l’élément de menu du menu contextuel dans le profil développeur.

Le même registre Windows est-il partagé entre les deux profils et cause-t-il cela ? Si oui, comment puis-je avoir un registre séparé pour chaque profil utilisateur ?

Fichier Reg :

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\windowsterminal]
@="Open Windows Terminal Here"
"Icon"="%USERPROFILE%\\AppData\\Local\\WTerminal\\terminal.ico"

[HKEY_CLASSES_ROOT\Directory\Background\shell\windowsterminal\command]
@="wt new-tab --profile \"Git Bash\" --startingDirectory ."

Oui et non. HKEY_LOCAL_MACHINE est partagé ; HKEY_CURRENT_USER est privé par utilisateur.

Pendant ce temps, HKEY_CLASSES_ROOT est un arbre virtuel qui est en fait une vue fusionnée des deux arbres par utilisateur HKCU\Software\Classes et HKLM\Software\Classes. (C’est un vestige de Windows 9x, qui n’avait pas cette séparation.)

Les écritures faites dans HKCR iront soit dans le registre personnel soit dans le registre système selon vos privilèges, et selon que la clé mise à jour a été originalement chargée depuis HKCU ou HKLM.

Pour avoir des associations de fichiers par utilisateur, mettez-les dans HKEY_CURRENT_USER\Software\Classes au lieu d’utiliser HKEY_CLASSES_ROOT. De même, pour créer des associations à l’échelle du système, mettez-les dans HKLM.