Was für registry-Zugriff kann man ohne Administrator-Rechte?
Ich weiß, wir sollten nicht über die registry zum speichern von Anwendungs-Daten mehr, sondern in der Aktualisierung einer Legacy-Anwendung (und wollen tun die wenigsten änderungen), was Registrierungsstrukturen sind nicht-Administratoren verwenden dürfen?
Kann ich auf alle HKEY_CURRENT_USER
(die Anwendung, die derzeit Zugang HKEY_LOCAL_MACHINE
) ohne Administrator-Rechte?
- "Ich weiß, wir sollten nicht mit der registry zu speichern Anwendung, die Daten nicht mehr" - ich glaube nicht, das ist vollkommen wahr. Die Registrierung hat viele Vorteile über die Datei system, und ich bin mir nicht bewusst keine Vorgaben von Microsoft zu stoppen in der Entwicklung von Anwendungen. Sollten Sie wahrscheinlich nicht verwenden Sie es zum speichern großer Mengen von Daten der Anwendung, aber es ist ein guter Ort zum speichern von Einstellungen und Konfigurations-Daten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Allgemeinen, eine nicht-administrator-Benutzer hat dadurch Zugriff auf die registry:
Lesen/Schreiben:
HKEY_CURRENT_USER
Nur Lesen:
HKEY_LOCAL_MACHINE
HKEY_CLASSES_ROOT
(das ist nur ein link zuHKEY_LOCAL_MACHINE\Software\Classes
)Ist es möglich, änderungen von Berechtigungen für einen key-by-key-basis, aber es ist extrem selten. Sie sollte sich keine sorgen machen.
Für Ihre Zwecke, Ihre Anwendung, sollten schreib-Einstellungen und die Konfiguration zu
HKEY_CURRENT_USER
. Der kanonische Platz ist überall innerhalbHKEY_CURRENT_USER\Software\YourCompany\YourProduct\
Könnten Sie möglicherweise halten Sie Einstellungen, die global (für alle Benutzer) in
HKEY_LOCAL_MACHINE
. Es ist sehr selten zu benötigen, um dies zu tun, und Sie sollten es vermeiden. Das problem ist, dass jeder Benutzer kann "Lesen", aber nur ein administrator (oder durch die Erweiterung, Ihre setup/install Programm) kann "eingestellt" werden.Andere häufige Quelle von Schwierigkeiten: Ihre Bewerbung sollte nicht schreiben, um nichts in der
Program files
oder dieWindows
Verzeichnisse. Wenn Sie brauchen, um das schreiben in Dateien gibt es mehrere Optionen zur hand, beschreiben Sie alle wäre eine längere Diskussion. Alle Optionen schreiben landen in einem Unterordner oder einem anderen unter%USERPROFILE%
für die Nutzer in Frage stellen.Schließlich sollte Ihre Anwendung bleiben aus
HKEY_CURRENT_CONFIG
. Diese Struktur enthält die hardware-Konfiguration, Dienste, Konfigurationen und andere Gegenstände, die 99.9999% der Anträge, sollten Sie nicht brauchen, zu betrachten (zum Beispiel, hält es die aktuellen plug-and-play-Gerät-Liste). Wenn Sie etwas brauchen von dort die meisten Informationen, die verfügbar ist durch die unterstützte APIs anderswo.HKEY_CLASSES_ROOT
ist eine zusammengeführte Ansicht HKLM\SOFTWARE\Classes und HKCU\SOFTWARE\Classes laut docs.microsoft.com/en-us/windows/desktop/winprog64/.... So, schreiben ist erlaubt, je nach der Datenquelle für Seriendruck. Und Sie können neue Einträge erstellen, beispielsweise können Sie erstellen ein benutzerdefiniertes Protokoll-handler ohne administrator-Privilegien (gerade getestet).Ja, Sie sollten in der Lage sein zu schreiben Sie zu jedem Ort, unter HKEY_CURRENT_USER ohne Administrator-Privilegien. Aber dies ist effektiv ein eigenes Geschäft, dass keine anderen Benutzer auf diesem Computer zugreifen können, so können Sie nicht, stellen Sie keine freigegebene Konfiguration vorhanden.
HKEY_CURRENT_USER\Software\Policies
ist read-only für nicht-Administratoren.