![]() |
14 Tage Testversion ... wie geht das?
Hallo!
Wie kann man eine Testversion eines Delphi-Programms erstellen, das nach 14 Tagen nicht mehr läuft? Was ich genau wissen möchte ist: WO legt man eine Information ab, dass auch wenn das Programm deinstalliert wurde und wieder neu installiert man sieht, das der Testzeitraum zu Ende ist? An einem versteckten Ort in der Registry? Da gibt es doch Rechte-Probleme vor allem mit Vista?! Ein File das irgendwo abgelegt wird? Das ist doch unschön. Ich habe schon versucht eine Antwort auf meine Frage zu finden, aber stelle mich irgendwie zu doof an. Auch möchte ich keine externe Komponente verwenden ... das Ganze muss nicht tot-sicher sein ... sollte aber einen Normal-User zum Kauf der Software veranlassen. Könnt Ihr mir bitte sagen wie alle anderen Shareware-Programmierer das machen ... es muss auch mit Vista funktionieren ... ohne UAC abzuschalten. Vielen Dank im Vorraus! :coder: Grüsse xtrnrfe |
Re: 14 Tage Testversion ... wie geht das?
Die meisten legen einfach nen Registry-Key an.
|
Re: 14 Tage Testversion ... wie geht das?
Mich persönlich stört es unheimlich, dass alle möglichen Programme auf meinem Rechner Daten hinterlassen, die ich weder einsehen noch problemlos löschen kann (da ich den Speicherort ja nicht kenne). Wenn das ein (Shareware-)Programm mach, ok...aber sobald es jeder Autor für sein Programm als problemlos erachtet...
Naja - was ich damit sagen will: Schränke doch Dein Programm anders ein, ein Timeout ist auch immer leichter zu Cracken als bspw. deaktiverte Funktionen. Eine Möglichkeit wäre es z.B., dass die Shareware-Version keine Änderungen speichern kann o.Ä. |
Re: 14 Tage Testversion ... wie geht das?
Hi,
Zitat:
[edit] Die Datei legst du im Programmordner oder dem passenden Userordner ab, damit diese auch gefunden werden kann. Wie schon mein Vorposter schreibt ist es unschön Leichen auf dem Rechner zu haben Gruß Ansgar PS: kein roter kasten |
Re: 14 Tage Testversion ... wie geht das?
Danke für die schnellen Antworten!
Wo könnte man diesen versteckten Eintrag in der Registry ablegen? Wo hat man keine Probleme mit den Rechten ... HKLM braucht man ja Admin-Rechte. Vista schränkt hier (glaub ich) noch weiter ein! Wo wäre den ein "geeigneter Ort" in der Registry dafür? |
Re: 14 Tage Testversion ... wie geht das?
Alternative zu Zeitablauf, wäre auch noch ein sog. Nagscreen. Also ein Dialog, der hin und wieder auftaucht und den Benutzer darauf hinweißt, das er eine Testversion nutzt.
|
Re: 14 Tage Testversion ... wie geht das?
Ja das haben wir uns auch schon überlegt ... wie 1 2 3 beim Total Commander.
Wir haben uns aber entschieden einen Nagscreen zu zeigen bis das Programm registriert wurde und oder nach 14 Tagen die Funktionalität einzuschränken. Das Problem das es zu lösen gilt ist das Deinstallieren/Neuinstallieren durch eine abgelegte Info zu verhindern. Das mit dem Uhrzeit zurückstellen kann ich dann auch abfangen. Der Ablageort wäre mir wichtig. Die Alternativen sehe ich schon ganz klar. |
Re: 14 Tage Testversion ... wie geht das?
Erstelle lieber eine Demo-Version deiner Anwendung - falls Möglich, statt die Möglichkeit anzubieten, die Software zur Vollversion freizuschalten. Ist zwar bequemer, aber nicht sicherer. Wohingegen eine Demo-Version halt sicherer, aber etwas unbequemer ist.
Die Demo kannst du zB aus deinem jetzigen Code erstellen, indem du Compiler-Schalter benutzt. Zum Beispiel ...
Delphi-Quellcode:
Die Compiler-Schalter kannst du unter den Projektoptionen einstellen.
{$IF Defined(COMPILE_DEMO)}
Dateispeichern1.Enabled := FALSE; // TMenuItem "Datei speichern" {$IFEND} // ... // Bedingte Compilierung, Code zum speichern wird in Demo nicht mitcompiled. procedure TForm1.DateiSpeichern(...); begin {$IF Defined (COMPILE_DEMO)} Exit; {$ELSE} // Code zum speichern {$IFEND} end; |
Re: 14 Tage Testversion ... wie geht das?
Das mit dem Kompilieren von verschiedenen Versionen ist auf jeden Fall cool ... hab ich noch nicht gewusst!
Wir wollen unbedingt die Freischalt-Version machen! Wenns einen crackt dann auch gut. Einer der nicht kaufen will soll trotzdem die Software verwenden ... das steigert die Verbreitung ;-) Ich sehe das total entspannt. Crack wirds eh gleich einen dafür geben. Es gibt 2 Arten von Usern ... der eine gibt Geld aus ... der Andere nie. Bitte helft mir noch mit dem Registry-Ort ... da kenne ich mich nicht so gut aus. |
Re: 14 Tage Testversion ... wie geht das?
Hallo!
auch wenn du keine fremde Komponente einsetzen willst könntest du dir doch dort Infos holen Ich habe das hier gefunden in TRegWare (wakproductions.com):
Delphi-Quellcode:
Sieht so aus, als würde er zwar den herkömmlichen Ortif CheckForWinNT = true then begin Registry.RootKey := HKEY_CLASSES_ROOT; Registry.OpenKey('\CLSID\' + FProgGUID + '\Info', true); end else begin Registry.RootKey := HKEY_LOCAL_MACHINE; Registry.OpenKey('\Software\CLASSES\CLSID\' + FProgGUID + '\Info', true); end; für Programme nehmen, jedoch einfach den Ordner durch eine GUID vorm User verstecken. Gruß Pfoto |
Re: 14 Tage Testversion ... wie geht das?
Kannst auch mal mein
![]() Da kannst mit Serial Keys Freeware und Vollversionen machen. Ist eigentlich recht einfach gestrickt das ganze. Ein wirklicher Crack schutz ist das allerdings auch nicht ;). |
Re: 14 Tage Testversion ... wie geht das?
@Corpsman:
Vielen Dank für den Code ... ich werde mir das Ganze mal anschauen und evtl. dazu verwenden die Serials generieren zu lassen. Wo denkst Du gehören diese Infos in die Registry? @Pfoto: Ich glaube wir kommen der Frage "Wo" näher ... TRegware speichert also da ab ... In diesen Classes\CLSID\-Unterordnern findet den Schlüssel niemand. Geil! Was ist aber mit FProgGUID gemeint? Hab was gefunden: " Eine GUID erzeugen In Delphi STRG + UMSCHALT + G betätigen => es wird eine GUID generiert. Diese muss statt der im hier dargestellten Quelltext angezeigten GUID eingefügt werden. " was sind denn GUIDs für Teile? ![]() Also muss ich die GUID als Konstante in meinem Programm angeben. Kennt sich da einer aus? Ist das die richtige Vorgehensweise? Danke für die Hilfe! |
Re: 14 Tage Testversion ... wie geht das?
Hallo...
suche mal nach mxProtector ... da kannst du auf einfache Weise so etwas erreichen. :hi: |
Re: 14 Tage Testversion ... wie geht das?
mxProtector sieht sehr gut aus.
Ich möchte das aber selber machen ohne Fremdkomponenten. Ich weiss auch so etwa wie alles geht. Nur der Speicherort war mir unklar ... bzw. ist es noch ein Bisschen. Der Ort CLSID/GUID ist glaub ich schon das Richtige. Ich schreib mir mal ein Testprogramm und lasse es auch auf Vista/User/UAC laufen. Danke für die Tips ... dieses Forum ist unschlagbar ;-) |
Re: 14 Tage Testversion ... wie geht das?
Hallo,
um "Dateileichen" zu vermeiden kann man das Demokonzept auch umdrehen. Als Demo installiert läuft das Programm z.B. mit eingeschränkter Funktionalität, mit Nagscreens usw. und erst nach einer Freischaltung hinterlegst Du in der Registry oder als Lizenzdatei im Programmverzeichnis die Info, dass das Programm ab sofort mit "Volldampf" laufen darf. Das verhindert zwar nicht unbedingt, dass man nach einer Deinstallation/Reinstallation wieder 14 Tage neu testen kann, aber die in der Demo fehlenden Features könnten vielleicht ein Anreiz sein, die Vollversion zu lizensieren. Gruß, Fred |
Re: 14 Tage Testversion ... wie geht das?
Warum willst du den Registryeintrag überhaupt verstecken? Ist doch egal wo er in der Registry steht - sowas bekommt auch ein relativ unerfahrener Benutzer heraus, wenn er Tools wie Regmon benutzt und sich ansieht, welche Registryeinträge von deinem Programm benutzt werden. Also spar dir die Mühe schreib's ganz normal wie jedes andere Programm in HKCU\Software\Programmname
Seeya |
Re: 14 Tage Testversion ... wie geht das?
Hallo!
HKCU\Software\Programmname ist zu einfach. Da lege ich die Programm-Settings rein und das wird auch bei der Deinstallation gelöscht. An den versteckten Ort kommt nur ein Mini-Schlüssel, der Infos woe "letzter Start" und "Install-Datum" speichert. Das beugt dem Vor- und Zurückstellen der Uhr vor ... und dem Reinstallieren. Wenn einer Regmon verwendet, dann soll er auch ein Erfolgserlebnis haben ;-) Ich zum Beispiel arbeite 12h am Tag vorm Comp ... kenne mich "ziemlich" gut aus und habe Regmon noch nicht verwendet. Da gibt es wirklich 2 Arten von Menschen ... die Regmon-Leute sollen damit ohne Kaufen arbeiten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:20 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