![]() |
SW lizenzieren: Lizenzkey in Registry eintragen
Hallo zusammen,
es gibt folgendes Problem: Während der Installation eines Programms (als Admin) wird die Seriennummer der Festplatte in die Registry unter HKLM eingetragen. Danach ist das Programm als Demoversion nutzbar. Für die Lizenzierung der Software wird aus dem Namen des Anwenders und der Festplatten-Nr. ein Lizenzkey berechnet. Wird die Lizenzierung von einem Benutzer ohne Adminrechten ausgeführt, kommt es zur Fehlermeldung, die besagt, daß nicht auf die Registry (HKLM) zugegriffen werden kann. Ursache ist das Speichern des Lizenzkeys durch die verwendete Fremdkomponente "TmxProtector". Den Registryzugriff auf HKCU zu ändern beseitigt zwar den Fehler, hat aber zur Folge, daß ein anderer Benutzer wieder mit einer Demoversion arbeiten und neu lizenzieren müßte. Wie läßt sich der Lizenzkey nur einmal, für alle Benutzer, ohne Admin-Zugriffsrechte in die Registry eintragen ? Kann man dafür in der Registry den Key HKEY_USERS\.DEFAULT nutzen ? Mike |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Das was du willst geht einfach nicht!
Entweder Adminrechte unter HKLM oder mit "normalen" Rechten unter HKCU. KEY_USERS\.DEFAULT wird AFAIK auch Admin-Rechte benötigen. |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Jep, auch dort sind standardmässig Adminrechte notwendig. Wir haben das damals so gelöst dass in beiden Zweigen gecheckt wird. Wenn der Admin installiert, dann ists für alle User zugänglich, ansonsten muss jeder User halt selber nochmal ran. Das ist wohl mit die bequemste Variante. Alternative wäre natürlich auch ein Regfile statt eines Registryeintrags möglich, das könnte dann unter AllUsers liegen worauf alle User Zugriff haben.
|
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Hallo.
Wieso HKEY_USERS/.DEFAULT? Bei HKEY_CURRENT_USER (HKCU) hast du imho vollen Schreibzugriff für dein Programm. Gruß blackdrake |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Danke erst mal für die ehrlichen Antworten.
Zitat:
Zitat:
Zitat:
Mike |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Moin Mike,
Zitat:
Was mir bei der ganzen Sache ein Rätsel ist: Wozu benötigt eine Demo-Version eine Lizensierung? |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Zitat:
Zitat:
Wenn ich die bisherigen Antworten so nehme, könnte die Lösung so aussehen:
Mike |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Hallo.
Ich würde dir ein Regfile innerhalb des Programmverzeichnisses empfehlen. Da müsste dein Programm Schreibzugriff haben (ob das bei Vista auch so ist, weiß ich nicht). Eine Freischaltung des Programmes sollte auf jeden Fall auch von einem normalen Benutzer durchführbar sein. Du könntest die Lizenzdatei auch bei "C:\Dokumente und Einstellungen\(Benutzername)\" speichern, also unter Anwendungsdaten oder direkt unter "Dokumente und Einstellungen", möglichst aber nicht in "Eigene Dateien". Wie du diese Datei mit deiner Lizenz-VCL oder deiner eigenen Funktion anlegst/strukturierst, weiß ich nicht. Es ist recht schwer, einen einigermaßen sicheren Mechanismus zu entwickeln. Was ist z.B. wenn die Registrierungsdatei oder der Registry-Schlüssel kopiert werden? Sind diese zumindestens mit einem verschlüsselten Benutzernamen oder einem Hardware-Schlüssel versehen? Wenn du bereits eine sichere VCL hast, müsstest du dort nur die Lizenzinfo in einer Textdatei schreiben und lesen. Gruß blackdrake |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Zitat:
Zitat:
Ich überlege jetzt, alles unter "C:\Programme\Gemeinsame Dateien" zu speichern. Der Ordner sollte ja frei zugänglich sein für alle Nutzer, also auch für Nicht-Admins. Oder ? Zitat:
Mike |
Re: SW lizenzieren: Lizenzkey in Registry eintragen
Moin Mike,
Zitat:
Wobei eine Demo-(Test-)Version wohl meist auf Testrechnern installiert werden würde. Soll die Software in Unternehmen eingesetzt werden, und das womöglich in grösserer Stückzahl, kann ich Dir aber auch sagen, das Du Dir mit einer Hardwareverdongelung keine Freunde machen wirst, da das manuelle Eingriffe je Installation bedeutet. So etwas wie eine Enterprise-Lizense solltest Du auf jeden Fall auch ermöglichen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz