breakplaining: Registry //2443

In der Registry (auch Registrier[ungs]datenbank genannt) von Windows werden verschiedene Einstellungen und Anwendungsdaten gespeichert.
Vor Windows 95 speicherten die Programme ihre Konfigurationen üblicherweise in ini-Dateien. Das brachte aber häufig ein Durcheinander hervor. (Wer das auch heute noch mal erleben will, braucht sich nur mit beispielsweise PHP-Installationen herumzuschlagen.)
Bei der Registry werden solche Daten dagegen zentral in wenigen Dateien in einem binären Format abgespeichert. Um die Registrydaten zu lesen oder zu ändern, ist der regedit.exe bei den Windows Bordmitteln vorhanden.

Die Registry besteht aus ein paar Hives. Die wichtigsten werden mit folgenden Rootkeys bezeichnet:
* HKEY_CURRENT_USER (HKCU) mit den Einstellungen des aktuellen Nutzers,
* HKEY_LOCAL_MACHINE (HKLM) mit den Einstellungen des lokalen Computers, und
* HKEY_CLASSES_ROOT (HKCR), wo Dateiassoziationen und vieles andere gespeichert werden, was für diesen Blogeintrag aber zu weit führen würde. Eigentlich ist HKCR nur ein Subhive von HKLM.
Die einzelnen Hives sind hierarchisch aufgebaut. Sowohl in HKLM als auch HKCU findet man etwa einen Unterschlüssel „Software“. Darunter üblicherweise jeweils eine Liste mit Softwareherstellern. Darunter wieder Listen mit Softwareprodukten, die ggf. noch weiter in Einzelversionen untergliedert sind.
Erst darunter finden sich dann die einzelnen Anwendungsdaten. Diese liegen üblicherweise als Paare aus Name und Wert vor. Für die Werte gibt es mehrere Typen: Zeichenketten, ganze Zahlen, sonstige binäre Daten, oder auch weitere Subkeys. Ich möchte nicht zu sehr ins Detail gehen. Jedenfalls lassen sich die benötigten Daten sehr flexibel strukturieren.

Als SW-Schreiber speichert man dort alle möglichen Werte ab, die der User permanent eingestellt haben möchte. Das reicht beispielsweise von irgendwelchen Hintergrundfarben über Pfade bis zu allen vorkommenden Anwendungsoptionen. Bei umfangreichen Anwendungen kommt da einiges zusammen. Größere Datenmengen als wenige Kilobyte sollte man jedoch dennoch in eigenen, separaten Dateien abspeichern, da die Registry mit zunehmender Größe doch allmählich immer träger wird, oder um die eigene Anwendung portabler zu machen.
Die Windows-API stellt etliche Funktionen bereit, mit denen sich die Registy leicht lesen und bearbeiten lässt. Zu beachten ist dabei jedoch, dass zum Schreiben auf HKLM erhöhte Rechte benötigt werden.

Über Anne Nühm (breakpoint)

Die Programmierschlampe.
Dieser Beitrag wurde unter Uncategorized abgelegt und mit , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

9 Antworten zu breakplaining: Registry //2443

  1. ednong schreibt:

    Äh ja, und weiter?

    Like

  2. Leser schreibt:

    Und manchmal verschluckt sich Windows an seiner eigenen Registry und startet dann nicht mehr.

    Like

    • Dass das vorkommen kann, will ich nicht ausschließen.
      Aber dann ist das ein extrem seltenes Ereignis, das ich in meiner jahrzehntelangen Berufserfahrung noch nicht erlebt habe.

      (Es gab ein- oder zweimal Probleme, die mit der Registry zusammenzuhängen schienen. Aber es stellte sich dann später heraus, dass es sich um einen Hardwaredefekt des Datenträgers gehandelt hatte.)

      Like

      • Leser schreibt:

        Zugegeben: Unter Windows 10 ist es mir bisher auch nicht mehr untergekommen. Aber ich kümmere mich auch nicht mehr um fremde Windows-PCs (und meine eigenen PCs haben alle kein Windows). Unter Windows 7 ist das jedoch häufiger vorgekommen, wie Dir jeder, der in dem Bereich tätig war, und den ein oder anderen PC derart verarzten durfte, ebenso mitteilen kann, wie eine entsprechende Suche nach dem Problem. idR genügte ein Start-Datenträger der jeweiligen Windows7-Version, um das Problem zu beheben, entweder manuell oder manchmal auch automatisch.
        Ich selbst hatte das einmal bei einem Windows7-PC, den ich betreut habe, aber dass es nur einmal auftrat, liegt vor allem daran, dass ich so PC-Service nie „beruflich“ gemacht habe, sondern nur so im Bekanntenkreis. Andere Bekannte, die dies beruflich taten (oder auch als Admins in einem Unternehmen mit ein paarhundert bis paartausend Arbeitsplätzen tätig waren), berichteten davon, dass das schon öfters mal auftreten kann.

        Like

  3. Pingback: Error Handling //2474 | breakpoint

  4. Pingback: Tweets im Umbruch //2540 | breakpoint

Hinterlasse einen Kommentar