Registry Schlüssel richtig anlegen

  • Hallo Zusammen,
    ich benötige mal wieder euer Fachwissen. Ich würde gerne für ein eigenes Programm Schlüssel für Pfadangaben in der Registry anlegen. Im www finde ich leider nichts richtiges, wo man diese Einträge korrekt macht. Ich finde leider nur "Leg irgendwo Schlüssel an" etc... Ich denke das ist nicht imme Sinne des Erfinders. Daher bitte ich euch mir zu helfen.

    Zur Info: Das BS ist Windows 7 32Bit&64Bit.

    Vielen Dank schonmal.

    Gruß
    Homer J. S.

    ...wenn die Donuts auch nur halb so gut schmecken wie sie aussehen, dann sehen sie doppelt so gut aus wie sie schmecken...

    Einmal editiert, zuletzt von Homer J. S. (28. April 2015 um 20:36)

  • Einen Schlüssel irgendwo anzulegen ist sicherlich nicht falsch aber nicht gut. Schau dich mal in der Registry um, da findest du am Haupttree verschiedene Einträge.
    In ROOT sind z.B. File-Extensions drinne, in Current User sind die Konfigurationen von Softwares für den aktuellen User drinne und in Local Machine für alle Nutzer.

    Das findest du auch bei Softwareinstallationen wieder (Nur für diesen Nutzer oder für alle installieren).
    Wenn du für deine Software Schlüssel abspeichern willst, bietet sich z.B. HKLM oder HKCU\SOFTWARE\dein Ordner an.

  • Dazu müsstest Du mal sagen, um was es eigentlich geht. Die komplette Registry aufzuschlüsseln, ist etwas schwierig.

    Fangen wir mal im ROOT an:
    HKEY_CLASSES_ROOT - Alias für HKEY_LOCAL_MACHINE\SOFTWARE\Classes
    HKEY_CURRENT_USER - Alias für den angemeldeten Benutzer (verwaist auf den eigenen Unterschlüssel in HKEY_USERS\ mit der eigenen SID)
    HKEY_LOCAL_MACHINE - Einträge die das System (Software, Betriebssystem, Sicherheit, Dienste) betreffen.
    HKEY_USERS - Einträge für die Benutzer (Default, Admin, normale Benutzer)
    HKEY_CURRENT_CONFIG - Alias für HKEY_LOCAL_MACHINE\SYSTEM\Hardware Profiles\Current (dies ist wiederrum ein Alias auf einen der Schlüssel Alias für HKEY_LOCAL_MACHINE\SYSTEM\Hardware Profiles\000x.

    Lassen wir also die Alias'e weg, bleiben nur 2 Einträge: HKEY_LOCAL_MACHINE oder HKEY_USERS.

    Unter HKEY_LOCAL_MACHINE muss man also nun unterscheiden, ob Hardware, Anmeldung (SAM), Sicherheit, Software (hier wiederum 64bit, 32bit oder 32bit im 64bit System [zu finden im Unterschlüssel ...\Software\Wow6432Node]) oder das Windows-System.
    Unter dem eigenen Schlüssel in HKEY_USERS (oder einfacher den Alias HKEY_CURRENT_USER verwenden) finden sich alle Benutzer-Konfigurationen für Programme, System, u.a..


    Edit: Für eigene Programm-Informationen bieten sich also 3 mögliche Ablageorte an:

    HKEY_LOCAL_MACHINE\Software\{Name Hersteller}\{Name Programm}
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\{Name Hersteller}\{Name Programm} (wenn 32bit Tool in einem 64bit BS)
    Diese beiden Orte wird vom Admin bei der Installation genutzt und enthält z.B. die Grundeinstellungen, wenn der Benutzer das Tool das erste mal ausführt. Änderungen sind für Benutzer eigentlich nicht (jedenfalls ohne Anpassungen des Admins) möglich.

    HKEY_CURRENT_USER\Software\{Name Hersteller}\{Name Programm} (wobei hier eigentlich nicht nach 32/64bit unterschieden wird, obwohl MS einen speziellen Unterschlüssel angelegt und mit einigen Daten gefüllt hat)
    Dieser Ort bieten sich für die Einstellungen an, die ein Benutzer schreiben können sollte und auch nur für diesen gelten.

    So jetzt erstmal Du, wenn Dir die Infos nicht schon reichen....

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

    3 Mal editiert, zuletzt von Micha_he (26. März 2015 um 18:15)

  • Hallo zusammen und sorry für die späte Antwort.

    @Micha_he: Dein Post ist sehr ausführlich und daher muss ich mir das erstmal in Ruhe zu gemüte führen.

    Dazu müsstest Du mal sagen, um was es eigentlich geht.

    Das ist eigentlich ganz einfach. Ich bin dabei eine Software zu schreiben und da bin ich an einem Punkt angelangt, wo es sinnvoll wäre z.B. den Pfad zum Hauptordner meines Programms in der Registry einzutragen. Das Programm benötige ich auf 32&64Bit Systemen und daher wäre mir ein Schlüssel bzw. dessen Pfad der auf 32&64Bit Systemen Identisch ist, am liebsten. Die spätere Installation gilt für alle User des System und muß auch ohne Adminrechte auskommen.

    Vielen Dank für eure Hilfe!

    Gruß
    Homer J. S.

    ...wenn die Donuts auch nur halb so gut schmecken wie sie aussehen, dann sehen sie doppelt so gut aus wie sie schmecken...

  • Wichtig ist u.a. folgendes:

    Kompilierst Du ein AutoIt-Tool (oder auch Installer) als 32bit landen die Einträge bei Verwendung von HKLM\Software\ (oder HKEY_LOCAl_MACHINE\Software\) abhängig vom Typ des Betriebssystem in folgendem Ordner:
    - 32bit: HKEY_LOCAL_MACHINE\Software\
    - 64bit: HKEY_LOCAL_MACHINE\Software\Wow6432Node\

    Bei 64bit kompilierten Tools hat sich das ja erledigt, da sie nur auf 64bit laufen.

    Bei der Kontrolle muss man dies auch beachten, ober z.B. der Zugriff von einem 32bit oder einem 64bit Tool passiert! Ich hab mich schon dumm und dusselig gesucht... Starte mal den RegEdit aus einem anderen 32bit Tool (z.B. TotalCommander) und vergleiche den Pfad HKEY_LOCAL_MACHINE\Software\. Hier im speziellen den dann fehlenden Unterordner Wow6432Node !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Hallo Zusammen,
    habe mich entschieden erstmal ohne Registry Einträge zu arbeiten. Wenn ich allerdings doch mal welche anlegen will/muß, bin ich durch @Micha_he einen guten Teil schlauer - Vielen Dank!

    Gruß
    Homer J. S.

    ...wenn die Donuts auch nur halb so gut schmecken wie sie aussehen, dann sehen sie doppelt so gut aus wie sie schmecken...