SecurityException, wenn Sie mit dem Registrierungs."LocalMachine".OpenSubKey
Entwickle ich eine Anwendung, zum schreiben in die registry. Es funktioniert auf XP, aber bei mir läuft es auf Vista, Visual Studio, bekomme ich eine security-exception in:
Registrierung."LocalMachine".OpenSubKey("SOFTWARE", true);
Bin ich zu schreiben versucht, einen neuen Schlüssel in diesem Zweig der registry.
Was ist der richtige Weg, dies zu tun, Erstens, so, dass ich meine Anwendung aus VS auf Vista, und zweitens so, dass mein Benutzer keine Probleme haben, läuft auf Vista.
Dank...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Auf beiden XP und Vista-Sie benötigen Administrator-Rechte um zu schreiben, einen neuen key unter LocalMachine.
Werden Sie finden, das funktioniert auf XP und schlägt auf Vista aufgrund der unterschiedlichen account defaults.
Die quick-and-dirty Lösung ist, um sicherzustellen, dass Ihre Anwendung läuft mit Admin-rechten in beiden Fällen, wenn auch in Vista ist es eher verpönt.
Die bessere Lösung wäre eine Neugestaltung, die Dinge ein wenig - kann die neue sub-Schlüssel geschrieben werden, die von Ihrem Installateur (läuft mit Admin-rechten), oder könnte Sie speichern Ihre Informationen woanders?
Standard-Benutzer, admin und läuft mit UAC auf Vista, nicht über die Berechtigung zum schreiben der lokalen Maschine Registrierungsschlüssel. Dies würde nicht auf XP zu, wenn Sie lief als standard-Benutzer.
Ihre Optionen sind:
schreiben können - das ist definitiv
nicht empfohlen, da keine malware
auf der box kann toast den Schlüssel.
Können Sie nur schreiben, dass Schlüssel, wenn Sie als administrator ausgeführt werden. So müssen Sie zum ausführen von VS als administrator und die Benutzer ausführen müssen, um die Anwendung als administrator.
Mein Vorschlag wäre, um zu sehen, wenn Sie wirklich brauchen, um zu schreiben "LocalMachine". Sie können schreiben Sie an CurrentUser ohne admin-Rechte.
Nehme ich an, es "funktioniert unter XP" denn jeder führt es als Admin unter XP?
Werden Sie könnten versuchen, es zu umgehen (erstellen Sie den Schlüssel während der Installation oder verwenden Sie einen Schlüssel unter CurrrentUser oder so).
Könnte man gewähren Sie die Berechtigungen für Ihre Anwendung während der Installation. Ich fürchte, ich bin ein wenig kurz auf details, wie das zu tun.
Registrierung Verwenden.CurrentUser