Wozu gibt es die Windows-Registry?



  • Ivo schrieb:

    Auch Windows schreibt Einstellungen in die Registry...

    dagegen ist ja auch nix einzuwenden. als systemeigene konfigurationsdatenbank ist die registry durchaus brauchbar. es ist nur blöd, denn client-anwendungen, die selber nicht bestandteil des systems sind, in die registry schreiben. sowas hat nur nachteile.
    🙂



  • 2 .filmor
    Das war auch nur so als Scherz gedacht... es gibt eben Systeme die ohne solchen Muell auskommen!

    Ivo



  • Ich weiß, dass es nur als Scherz gedacht war, ich wollte nur darauf hinweisen, dass sowas Registry-artiges tatsächlich abartigerweise auch für Gnome implementiert implementiert wurde 😉



  • .filmor schrieb:

    ich wollte nur darauf hinweisen, dass sowas Registry-artiges tatsächlich abartigerweise auch für Gnome implementiert implementiert wurde

    unfug! seit wann ist eine datenbank was 'abartiges'?
    🙂



  • ~fricky schrieb:

    .filmor schrieb:

    ich wollte nur darauf hinweisen, dass sowas Registry-artiges tatsächlich abartigerweise auch für Gnome implementiert implementiert wurde

    unfug! seit wann ist eine datenbank was 'abartiges'?
    🙂

    dann, wenn sie fehleranfällig, sicherheitslückig und unwartbarig wird 😉



  • ich find die idee, für die konfiguration der anwendungen eines systems, eine zentrale datenbank zur verfügung zu stellen sehr elegant. dagegen steht eigentlich nur der anspruch einiger weniger anwender, in alle konfigurationsdetails ihrer anwendungen jederzeit einfach eingreifen zu können.

    das größte argument gegen die windows registry war immer, dass sie schnell "zumüllt" und dadurch das system ausbremst. aber mehrere, unabhängige, tests haben dieses gerücht schon lange widerlegt.

    die angeblich so viel eleganteren unix system arbeiten im grunde auch nicht viel anders. an irgendeiner stelle liegen globale konfigurationsdateien rum, die dann halt durch lokale konfigurationen im benutzerverzeichnis überschrieben werden können. der einzige unterschied ist halt, dass die daten in einzelne textdateien aufgesplittet werden und nicht zentral vorgehalten und verwaltet werden.



  • javanana schrieb:

    ich find die idee, für die konfiguration der anwendungen eines systems, eine zentrale datenbank zur verfügung zu stellen sehr elegant. dagegen steht eigentlich nur der anspruch einiger weniger anwender, in alle konfigurationsdetails ihrer anwendungen jederzeit einfach eingreifen zu können.

    das größte argument gegen die windows registry war immer, dass sie schnell "zumüllt" und dadurch das system ausbremst. aber mehrere, unabhängige, tests haben dieses gerücht schon lange widerlegt.

    die angeblich so viel eleganteren unix system arbeiten im grunde auch nicht viel anders. an irgendeiner stelle liegen globale konfigurationsdateien rum, die dann halt durch lokale konfigurationen im benutzerverzeichnis überschrieben werden können. der einzige unterschied ist halt, dass die daten in einzelne textdateien aufgesplittet werden und nicht zentral vorgehalten und verwaltet werden.

    die frage ist halt, worauf kann man schneller zugreifen oder was braucht weniger speicher. dazu kommt was ist besser wartbar, übersichtlicher, portabler, etc..

    wird die registry eigentlich komplett im speicher gehalten? oder nur bei bedarf die keys rausgesucht?



  • Die Idee der Registry ist, um mich meinen Vorrednern anzuschließen, wirklich elegant. Allerdings wurde und wird sie von abertausenden Anwendungsentwicklern missbraucht, denn das Problem des "Zumüllens" der Registry kommt lediglich daher, dass diese Programmierer Schlüssel und Werte reinschreiben - aber nicht wieder entfernen und auch nicht mal auf die Idee kommen, saubere Deinstallationsroutinen zu schreiben. Dafür kann die Registry, sei es jetzt unter Windows oder GConf von Gnome, selber nichts.



  • Xantus schrieb:

    Die Idee der Registry ist, um mich meinen Vorrednern anzuschließen, wirklich elegant. Allerdings wurde und wird sie von abertausenden Anwendungsentwicklern missbraucht, denn das Problem des "Zumüllens" der Registry kommt lediglich daher, dass diese Programmierer Schlüssel und Werte reinschreiben - aber nicht wieder entfernen und auch nicht mal auf die Idee kommen, saubere Deinstallationsroutinen zu schreiben. Dafür kann die Registry, sei es jetzt unter Windows oder GConf von Gnome, selber nichts.

    Die Registry ist keine gute Idee. Einfache Dateien fuer die Konfiguration ist einfacher und besser. Zum einen kann man die Dateien mit x-beliebigem Textedit bearbeiten, zum anderen kann man einzelne Einstellungen ganz einfacher abspeichern/widerherstellen. Zum anderen muss man Dinge nicht x mal neu Erfinden (wie Dateisystem + Datenbank fuer Konfiguration).

    Das Problem ist halt einfach das ntfs nicht mit sehr vielen kleinen Dateien zurecht kommt. Kopiert mal 5.000 sehr kleine Dateien (also max. 500 bytes) mit ext3 und mal mit ntfs. Die Registry ist eine typische MS-Entwicklung, closed, propritaer, das Rad wird neu erfunden.

    Wenn z.B. die Einstellungen einfache Textdateien waeren, dann koennte man auch viel einfacher Cross-Plattform Anwendungen schreiben. Z.B. in Java kann man keine Menueeintraege erstellen (beim installieren von Programmen) ohne die Windows-API zu benutzen. Somit muss man immer eine bloede .DLL mitschleppen (fuer den Mac genauso). In Linux kann man einfach BufferedWriter/Reader benutzen, weil auch das eine einfache Textdatei ist.

    Dann stellt sich die frage, wie kann ich einzelne Einstellungen auf z.B. einem Server lagern? Unter Linux wird einfach das /etc Verzeichnis in das lokale Dateisystem eingebunden. Oder man kann einfach Soft-Links setzen, auf die einzelnen Einstellungs-Dateien. Fuer die Registry muss man sich was eigenes dafuer ausdenken.

    Eine Datenbank ist immer dann gut, wenn auf viele Werte in moeglichst kurzer Zeit zugegriffen werden muss. Das ist fuer Programm-Einstellungen ganz klar ueberhaupt nicht der Fall. Es wird immer einmal auf einen Schluessel zugeriffen, und zwar dann, wenn ein Programm gestartet/beendet wird.



  • DEvent schrieb:

    Dann stellt sich die frage, wie kann ich einzelne Einstellungen auf z.B. einem Server lagern? Unter Linux wird einfach das /etc Verzeichnis in das lokale Dateisystem eingebunden. Oder man kann einfach Soft-Links setzen, auf die einzelnen Einstellungs-Dateien. Fuer die Registry muss man sich was eigenes dafuer ausdenken.

    Kennst du Dieter Nuhr?



  • Das Problem unter Windows ist, dass Anwendungsdaten überall rumliegen. Einstellungen in der Registry, andere benutzerabhängige Daten liegen u.a. im Homeverzeichnis, unter "Dokumente und Einstellungen\User\Anwendungsdaten", unter "Dokumente und Einstellungen\User\Lokale Einstellungen\Anwendungsdaten", wer weiß wo noch.

    Wenn man da mal das System neu aufsetzen möchte und die persönlichen Einstellungen migrieren möchte, wird es schwierig. Gibt zwar dieses Tool namens "Übertragen von Dateien und Einstellungen auf einen neuen PC", aber in der Praxis funktioniert das nicht immer so reibungslos wie MS propagiert.

    Unter Unix nimmt man einfach sein Homeverzeichnis mit sämtlichen ~/.meinprogramm Files und alles ist toll.



  • Das Problem unter Windows ist, dass Anwendungsdaten überall rumliegen. Einstellungen in der Registry, andere benutzerabhängige Daten liegen u.a. im Homeverzeichnis, unter "Dokumente und Einstellungen\User\Anwendungsdaten", unter "Dokumente und Einstellungen\User\Lokale Einstellungen\Anwendungsdaten", wer weiß wo noch.

    Das ist aber kein Problem von Windows, sondern eines derjenigen, die Windows-Anwendungen schreiben. Es gibt in der MSDN Artikel, wo MS direkt solche Schwierigkeiten anspricht und Ratschläge gibt, wie man seine Anwendungen vernünftig entwickelt. Es gibt z.B. solche tollen Entwickler, die ihre SOftware so programmieren, das sie nur mit Admin-Rechten läuft. Aber ist das die Schuld von Windows? Nein!



  • Ich habe nicht geschrieben, dass es ein Problem von Windows ist, sondern "unter Windows", was die Schuld nicht dem OS in die Schuhe schiebt, sondern aussagt, dass es unter Verwendung dieses OS zu solchen Problemen kommt.

    Klar, es gibt die Empfehlungen von MS, wie man Anwendungsprogramme entwickelt. Aber man darf trotzdem das Konzept anzweifeln. Wenn es mehrere Möglichkeiten gibt, helfen sämtliche Empfehlungen nicht, irgendeiner wird es immer so machen, wie es nicht gewünscht war.

    Wenn man nur eine Möglichkeit hat, stellt sich diese Frage überhaupt nicht.



  • Die Konfigurationen der verschiedenen Linux distributionen fallen sehr unterschiedlich aus. Auch gibt es wohl unterschiedliche Ansichten wo welche Konfigurationen zu liegen haben.

    So eindeutig und viel besser erscheint mir das dann auch nicht unbedingt.



  • Bulli schrieb:

    Es gibt z.B. solche tollen Entwickler, die ihre SOftware so programmieren, das sie nur mit Admin-Rechten läuft. Aber ist das die Schuld von Windows? Nein!

    doch! wenn man einfach nur was programmiert, ohne sich irgendwelcher rechte bewusst zu sein, braucht man schon adminrechte.
    🙂



  • Knuddlbaer schrieb:

    Die Konfigurationen der verschiedenen Linux distributionen fallen sehr unterschiedlich aus. Auch gibt es wohl unterschiedliche Ansichten wo welche Konfigurationen zu liegen haben.

    So eindeutig und viel besser erscheint mir das dann auch nicht unbedingt.

    Doch ist es trotzdem, da die Unterschiede nur geringfügig sind und was viel wichtiger ist: unter dem jeweiligen System ist es konsistent (so lange man die Paket-Verwaltung benutzt und beim selber-installieren sich an die Standard-Verzeichnisse hält). Es ist also ein Leichtes herauszufinden wo was liegt unter welcher Distribution und man kann so bequem sein System sichern.

    Ist also nicht vergleichbar mit dem Chaos unter Windows. Hieran sind aber nicht nur die Entwickler von Software Schuld, sondern auch Microsoft, da es nicht von Anfang an ein sinnvoll durchdachtes Konzept gab das für mehrere Benutzer ausgelegt war. Unter Linux hab ich als Programmierer gar nicht die Freiheit, da übliche Speicherorte schon seit Jahren etabliert sind und wenn ich mein Programm an den Mann bringen will muss ich mich anpassen.



  • also die daten im verzeichniss dokumente und bla\user\anwendungsdaten entsprechen ja denen in /home/user/.anwendungXY , da entsprechen sich die OSes ja im konzept.
    nur leider wird das nicht von allen programmen so genutzt. auch unter linux nicht.
    aber maschinenspezifische daten darf man bei linux ja auch im /etc... suchen bis zur vergasung. oder wars /usr/local oder doch im /bin /usr/bin oder /usr/local/bin oder wie jetzt? ist da also auch nicht so strikte.
    am ende bleibt es chaotisch, weil es ein zusammengesetztes system ist und jeder sein zeug wo anders hinpackt.

    die idee der registry wär eigentlich ganz nützlich, wenn sie entsprechend gepflegt würde. warum könnte man sie nicht als flatfile DB auslegen, so dass man änderungen auch einfach in nem textfile machen könnte?



  • herman schrieb:

    also die daten im verzeichniss dokumente und bla\user\anwendungsdaten entsprechen ja denen in /home/user/.anwendungXY , da entsprechen sich die OSes ja im konzept.
    nur leider wird das nicht von allen programmen so genutzt. auch unter linux nicht.
    aber maschinenspezifische daten darf man bei linux ja auch im /etc... suchen bis zur vergasung. oder wars /usr/local oder doch im /bin /usr/bin oder /usr/local/bin oder wie jetzt? ist da also auch nicht so strikte.
    am ende bleibt es chaotisch, weil es ein zusammengesetztes system ist und jeder sein zeug wo anders hinpackt.

    Nö, das ist distributionsspezifisch schon an einem festen Platz. Darfst halt nicht immer make install aufrufen ohne vorher bei configure die Pfade angepasst zu haben.
    Ansonsten muss man nicht suchen, man kann den Paketmanager fragen welche Dateien ein Paket enthält und wo diese sind. Wo ausführbare Dateien sind sagt dir whereis.



  • DEvent schrieb:

    Die Registry ist keine gute Idee.

    Pauschalisierungen sind immer falsch.

    Ich stimme durchaus zu, daß Anwendungskonfigurationsdaten in %APPDATA% besser aufgehoben sind. Alle anderen Aspekte betreffend ist aber Raymond Chens "Why are INI files deprecated in favor of the registry?" aus historischer wie argumentativer Sicht äußerst lesenswert.

    Bulli schrieb:

    Es gibt z.B. solche tollen Entwickler, die ihre SOftware so programmieren, das sie nur mit Admin-Rechten läuft. Aber ist das die Schuld von Windows? Nein!

    Doch. Ursache sind die jahrelange Koexistenz des DOS- und des NT-basierten Windows und der gegenseitigen Anwendungskompatibilität sowie die Tatsache, daß Microsoft die mit Windows XP endgültig erfolgte Umstellung auf Windows NT nicht konsequent genug durchgezogen hat. Die notwendigen Folgen sind leider UAC und dergleichen.



  • audacia schrieb:

    Alle anderen Aspekte betreffend ist aber Raymond Chens "Why are INI files deprecated in favor of the registry?" aus historischer wie argumentativer Sicht äußerst lesenswert.

    er schreibt zwar:

    this Web site is for entertainment purposes only.

    aber besonders originell ist er nicht. vielleicht meint der typ den unsinn, den er dort schreibt, tatsächlich ernst.
    🙂


Anmelden zum Antworten