Forums Neueste Beiträge
 

Zugriff auf Registry unter Vista

29/10/2007 - 14:46 von Andreas Hofmann | Report spam
Hallo,

Ich habe für ein Shareware-Programm eine Komponente geschrieben, die
beim ersten Aufruf des Programms einen Schlüssel in die Registry
schreibt,
der das aktuelle Datum enthàlt und damit die 30 Tage Testzeit startet.
Nun
geht das unter Vista nicht mehr, weil Registry-Zugriffe da nicht mehr so
einfach
möglich sind. D.h. das Programm startet nun mit einer Warnmeldung bzw.
dann gar nicht.

Wie kann man das beheben bzw. was ist der Königsweg, das Programm auch
mit Kopierschutz auf Vista zum Laufen zu bringen?
1. Statt in Registry in eine Datei schreiben. Das ist natürlich der
erste Weg, der
sich anbietet, aber das würde ich lieber vermeiden.
2. Programmiertechnisch sich Zugriff auf die Registry verschaffen. Geht
das
überhaupt und wenn, wie?
3. Gibt es einen von Microsoft empfohlenen Weg dafür? Oder gar ein
Application
Pack?

Ich arbeite (noch) mit .NET 1.1 (2003). Falls es aber einen
überzeugenden Weg
gibt, der nur mit 2.0 oder höher machbar ist, immer her damit. Ich muss
sowieso
früher oder spàter umsteigen. Hab nur bis jetzt nicht die Notwendigkeit
verspürt.

Viele Grüße,

Andreas
 

Lesen sie die antworten

#1 Peter Götz
29/10/2007 - 17:40 | Warnen spam
Hallo Andreas,

Ich habe für ein Shareware-Programm eine Komponente
geschrieben, die beim ersten Aufruf des Programms
einen Schlüssel in die Registry schreibt,



Wohin genau in die Registry?

der das aktuelle Datum enthàlt und damit die 30 Tage
Testzeit startet.
Nun geht das unter Vista nicht mehr, weil Registry-Zugriffe
da nicht mehr so einfach möglich sind. D.h. das Programm
startet nun mit einer Warnmeldung bzw. dann gar nicht.




Mit welcher Meldung?

Vermutlich versuchst Du nach HKey_Local_Machine
zu schreiben und das ist nur Benutzern mit Admin-Rechten
erlaubt. Ein Schreibzugriff z.B. nach HKey_Current_User
wàre sehr wohl möglich.

Wie kann man das beheben



Dein Installations- oder sonstiges Programm, welches
u.a. auch den entspr. Eintrag in die Registry nach
HKLM machen soll, muss mit Admin-Rechten gestartet
werden.

bzw. was ist der Königsweg,
das Programm auch mit Kopierschutz auf Vista
zum Laufen zu bringen?



Da ich nicht weiss, wie Dein Kopierschutz konkret
aussieht, kann ich nicht beurteilen, ob neben dem
oben gesagten für Schreibzugriffe auf HKLM noch
weitere Vorkehrungen notwendig sind.

1. Statt in Registry in eine Datei schreiben.



Auch hierfür eignet sich nicht jedes beliebige Verzeichnis.
So haben normale Benutzer (also Nicht-Admins)
z.B. im Anwendungsverzeichnis keine Schreibrechte und
somit müsste das Programm, welches diese Datei
schreiben soll eben auch mit Admin-Rechten gestartet
werden.


Das ist natürlich der erste Weg, der sich anbietet,
aber das würde ich lieber vermeiden.
2. Programmiertechnisch sich Zugriff auf die Registry
verschaffen. Geht das überhaupt und wenn, wie?



s.oben:
Zugriffe (schreiben und lesen) auf HKey_Current_User
sind auch für normale Benutzer möglich,
Zugriffe auf HKey_Local_Machine erfordern Admin-Rechte.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen