Wird für alle Benutzerprofile die gleiche Windows-Registrierung verwendet?

Wird für alle Benutzerprofile die gleiche Windows-Registrierung verwendet?

Ich habe zwei Benutzerprofile auf meinem Windows 10-PC, ein Entwicklerprofil und ein normales Profil. Im Entwicklerprofil habe ich eine .regDatei ausgeführt, um ein Kontextmenüelement hinzuzufügen, das eine Windows-Terminalinstanz mit einer aktiven Git Bash-Eingabeaufforderung öffnet.

Zu meiner Überraschung zeigte das Kontextmenü im anderen Windows-Profil auch die neue Menüoption an, aber beim Anklicken wurde ein Fehler angezeigt, der besagte, dass auf den angegebenen Pfad oder die angegebene Datei nicht zugegriffen werden kann. Dies liegt daran, dass ich Windows Terminal nicht im regulären Profil installiert habe. Und das Löschen der betreffenden Registrierungsschlüssel im regulären Profil entfernt auch den Menüpunkt aus dem Kontextmenü im Entwicklerprofil.

Wird dieselbe Windows-Registrierung von beiden Profilen gemeinsam genutzt und ist dies der Grund dafür? Wenn ja, wie kann ich für jedes Benutzerprofil eine separate Registrierung einrichten?

Reg-Datei:

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 ."

Antwort1

Ja und nein. HKEY_LOCAL_MACHINEWird geteilt, HKEY_CURRENT_USERist pro Benutzer privat.

Mittlerweile ist HKEY_CLASSES_ROOT einvirtuellBaum, der eigentlicheine zusammengeführte Ansichtsowohl pro Benutzer HKCU\Software\Classesals auch HKLM\Software\Classesin Bäumen. (Das ist ein Überbleibsel aus Windows 9x, wo es diese Trennung nicht gab.)

In HKCR ausgeführte Schreibvorgänge werden abhängig von Ihren Berechtigungen und davon, ob der zu aktualisierende Schlüssel ursprünglich von HKCU oder HKLM geladen wurde, entweder in die persönliche oder die Systemregistrierung verschoben.

Um Dateizuordnungen für einzelne Benutzer zu haben, geben Sie diese in HKEY_CURRENT_USER\Software\Classesstatt in HKEY_CLASSES_ROOT ein. Um systemweite Zuordnungen zu erstellen, geben Sie diese in HKLM ein.

Antwort2

Ja, es gibt ein einziges Register. Das Register hat eine Reihe von realen Hives und eine Reihe von „virtuellen“ Hives. Zwei der wichtigsten realen Hives sind HKEY_LOCAL_MACHINEund HKEY_USERS. Wie letzteres andeutet, enthält es Werte für mehrere Benutzer.

Jetzt HKEY_CURRENT_USERhandelt es sich um eine virtuelle Zuordnung eines HKEY_USERSUnterschlüssels, also grob gesagt des Schlüssels des Benutzers, der den Prozess gestartet hat. Daher können unterschiedliche Prozesse unterschiedliche HKEY_CURRENT_USERZuordnungen haben. Ähnlich HKEY_CLASSES_ROOTverhält es sich mit einer virtuellen Ansicht, die durch Zusammenführen HKEY_LOCAL_MACHINEund diesen HKEY_USERSUnterschlüssel gebildet wird.

Die Registrierung unterstützt Zugriffskontrolllisten (Access Control Lists, ACLs), so dass Sie möglicherweise die Schlüssel anderer Benutzer nicht sehen können.

verwandte Informationen