2010-01-08 4 views
6

Auf den ersten Blick scheint dies ein rein subjektives/ästhetisches Problem zu sein, aber ich würde gerne Meinungen (insbesondere technische) darüber hören, ob Umgebungsvariablen oder die Registrierung der bevorzugte Speicherort für Konfigurationsdaten in einer Windows-Umgebung ist.Windows-Registrierungsvariablen vs. Umgebungsvariablen?

Ich kann zur Zeit denke nur an den folgenden Unterschieden:

  • Registrierungseinstellungen persistent sind über mehrere Sitzungen hinweg, obwohl ich, dass die Umgebungsvariablen glauben auch, diese Eigenschaft haben.
  • Es ist einfacher, Umgebungsvariablen aus der Befehlszeile gesetzt vs. mit regedit
    • (Counter-Argument: regedit einfacher für Nicht-Kommandozeilen-Anwendungen?)
  • Umgebungsvariablen sind häufiger über Plattformen (?).

Mir ist auch bewusst, dass Umgebungsvariablen abgefragt, geändert und aus der Registrierung gesetzt werden können.

Antwort

4

Verwenden Sie Umgebungsvariablen, wenn Sie von anderen Anwendungen (oder von einem technischen Benutzer) konfiguriert werden möchten und dass diese Konfiguration anders sein könnte (d. H. Sie haben 2 Instanzen zur gleichen Zeit mit unterschiedlichen Einstellungen ausgeführt). Die Umgebung eines Benutzers zu stören ist normalerweise nicht notwendig. Verwenden Sie in den meisten Fällen die Registrierung oder eine Konfigurationsdatei, die in $ HOME \ AppData \ Roaming \ YourApp gespeichert ist.

0

Wenn Sie Windows-Dienste verwenden, können Umgebungsvariablen ein Problem sein: Nur das Ändern der Variablen und das anschließende Neustarten des Dienstes werden nicht helfen. Normalerweise muss das System neu gestartet werden.
Wenn der Dienst Einstellungen in der Registrierung nachschlägt, ist dies viel einfacher.

Ich habe dieses Verhalten auf Windows XP gesehen, ich bin mir nicht sicher, ob die neueren Versionen dieses Problem behoben haben.