Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Demoversion! Was ist erlaubt? Wie wirds gemacht? (https://www.delphipraxis.net/16022-demoversion-ist-erlaubt-wie-wirds-gemacht.html)

Biohazard 9. Feb 2004 10:02


Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Hallo,

ich versuche gerade eine Demo von einer Datenbankanwendung zu erstellen. Die Demo soll aber die volle Funktionalität besitzen wie die Vollversion.
Nun habe ich eine Datensatzbegrenzung eingeplfegt.

Desweiteren soll ich eine Limit einbauen, daß das Programm und die DB nach einem bestimmten Zeitraum automatisch gelöscht wird.
Darf man sowas einfach machen oder gibt es da Regelungen die das verbieten.

Falls das gehen sollte, was wäre die beste Möglichkeit sowas durchzuführen.

sakura 9. Feb 2004 10:11

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Das mit dem automatisch Löschen ist immer eine heikele Sache. An dieser Stelle lieber den User mit einem Dialog konfrontieren, der die Möglichkeit gibt das Programm zu beenden, das Programm zu erwerben oder die reguläre Uninstall-Routine zu starten. Ansonsten kann man das nach dt. Recht auch als mutwillige Zerstörung von Daten ahnden.

...:cat:...

Matze 9. Feb 2004 10:11

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Also, ganz sicher bin ich mir nicht, aber, wenn der User weiß, dass die DB gelöscht wird, denke ich schon, dass es erlaubt ist.

Sinnvoll wäre es, erst eine Meldung zu bringen, dass man diese notfalls noch sichern kann, denn wenn diese einfach gelöscht wird, dann würde mich das so aufregen, dass ich die Vollversion sicher nicht kaufen würde. ;)

Biohazard 9. Feb 2004 10:42

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Also, das mit dem Dialog hört sich gut an, nur wenn dem Benutzer die paar Daten ausreichen die er in der Demo hat, kann er das Programm ohne weiters weiterbenutzen.

Es gibt ja noch die Möglichkeit das Programm nicht mehr starten zu lassen. Die Frage ist bloß wie man sowas am besten anstellt.

Matze 9. Feb 2004 10:45

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Du könntest einfach einen bestimmten Wert in die Registry schreiben, ist dieser 0, dann lässt sich das Programm starten, ist er 1, dann eben nicht.
Das hat nur den Nachteil, dass man den Wert manuell in der Registry ändern kann.
Du könntest ihn theoretisch auch verschlüsselt in eine Dll schreiben, da gibt's viele Möglichkeiten. ;)

Biohazard 9. Feb 2004 11:13

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Ok. Werd mal ein wenig rumexperimentieren. Danke.

Matze 9. Feb 2004 11:17

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Achja, verschlüsseln brauchst du den Wert eigentlich nicht, es macht wohl wenig Sinn, eine Ziffer zu verschlüsseln. :mrgreen:

Naja, der Anwender weiß ja nicht, was diese Ziffer bedeutet, du kannst ja auch die 3 und die 9 nehmen, oder auch riesige zahlen oder Wörter, wo eine Verschlüsselung wieder sinnvoll wäre. ;)

atreju2oo0 9. Feb 2004 11:22

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Du könntest ihn theoretisch auch verschlüsselt in eine Dll schreiben, da gibt's viele Möglichkeiten.
Mal ne kurze Frage dazu...
Wie kann ich nachträglich in eine dll schreiben? Die wird doch beim erstellen kompiliert, oder? :wiejetzt:

MrKnogge 9. Feb 2004 11:35

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Zitat von atreju2oo0
Wie kann ich nachträglich in eine dll schreiben? Die wird doch beim erstellen kompiliert, oder? :wiejetzt:

Stichwort: ResourceUpdate oder UpdateResource


Zitat:

Zitat von Matze
Du könntest einfach einen bestimmten Wert in die Registry schreiben, ist dieser 0, dann lässt sich das Programm starten, ist er 1, dann eben nicht.
Das hat nur den Nachteil, dass man den Wert manuell in der Registry ändern kann.
Du könntest ihn theoretisch auch verschlüsselt in eine Dll schreiben, da gibt's viele Möglichkeiten. ;)

Ja, nur Leute die meine Registry zumüllen,und ich die Einträge eventuell erst sogar suchen und anschliesend manuell löschen muss machen sich bei mir nicht gerade beliebt !

Aber was das löschen angeht:
Wenn du den Benutzer bei der Installation darauf hinweist, dass die Daten nach beispielsweise 30 Tagen gelöscht werden, wenn bis dahin keine Registrierung erfolgt ist, kann dir niemand verbieten die Daten zu löschen.

Aber statt sie zu löschen, würde ich es wie die meisten Demo-Programme machen:
Einfach ein Fensterchen beim Start des Programmes anzeigen "Sie haben noch X Tage Zeit sich zu registrieren", ist diese Zeit abgelaufen, einfach das Programm nicht mehr starten lassen. Hierbei würde ich die DLL-Version nehmen, eine weitere viel einfachere Lösung wäre:

Du lieferst mit deinem Programm noch zusätzlich irgendeine nutzlose mit beispielsweise ne einfache DLL mit 2-3Icons drinn (damit sie nicht zu klein ist), ist die Zeit abgelaufen,
löscht du diese DLL, und beim start deines Programmes, schaust du einfach nach ob diese noch existiert.

Hansa 9. Feb 2004 12:05

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zum Titel-Thema:

Ich habe die Erfahrung gemacht, daß eine zeitliche Limitierung nichts bringt. Manchmal kommen die Leute einfach nicht dazu es zu testen und wenn sie dann endlich damit anfangen und die Testperiode ist abgelaufen, ist das mehr Pech für Dich, als für denjenigen, der es testen will 8) Datenlöschungen kommen normalerweise nicht in Betracht, warum denn auch ?

Je nach Einsatzzweck gibt es viel bessere Methoden.

Christian Seehase 9. Feb 2004 15:31

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Moin Hansa,

Zitat:

Zitat von Hansa
Ich habe die Erfahrung gemacht, daß eine zeitliche Limitierung nichts bringt.

ausser man macht es so, wie es früher mal bei Opera war.
Man dürfte es 30 Tage lang testen, aber es wurden nur die tatsächlichen Testtage gezählt. Du konntest den Test im Prinzip auch über Jahre verteilt durchführen.
Wie das gemacht wurde weiss ich leider nicht.

fkerber 9. Feb 2004 15:36

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Hi!

Ich persönlich halte die zeitliche Limitierung auch für wenig geglückt, aber mit einem Limit bei den Programmaufrufen wäre es vielleicht getan.

Ciao fkerber

P.S.: Ich bin gegen die Daten-Löschungs-Methode.

Hansa 9. Feb 2004 15:56

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Wie gesagt, es hängt vom Einsatzzweck ab. Ich habe mehr mit kaufmännischen Sachen zu tun und mache das folgendermaßen: kein Zeitlimit, aber z.B. nur 2 Kunden/Adressen etc. sind erlaubt, oder ich beschränke das Eingabedatum. Im Prinzip kann man dann machen, was man will, ohne die notwendige Beschränkung auf die 2 Kunden oder Datum geht nicht alles, aber fast. Sämtliche Artikel oder sonstwas kann der ruhig eingeben. Genau so gut lassen sich 100.000 Rechnungen schreiben, aber eben nur für z.B. Feb. 2004. Dies ist auch wichtig, um jemand, der fast seine ganzen Daten in die Demo-Version eingegeben hat, klarzumachen, daß er die Beschränkung nicht mehr in Kauf nehmen muß, sofern er den Lizenzvertrag unterschreibt und die Kohle überweist. :shock:

Das wichtigste ist, wie gesagt, für klare Verhältnisse zu sorgen. Wenn jemand nur die Kund.Nr. 1 und 2 zur Verfügung hat, oder nur einen Monat zum "spielen" (wohlgemerkt: nicht Programm-Ablaufdatum :!:), so kann er sich nicht beschweren, alle Kundenadressen seien weg, die er gar nicht eingeben konnte. :mrgreen:

Schön, aber lästig finde ich auch, die während des Programmlaufes gemachten Einstellungen nicht festzuhalten.

P.S.: Testtage und limitierte Programmaufrufe bringen auch nichts. Irgendein DAU wird das Programm immer wieder starten, um es stolz zu präsentieren, sagen wir mal an 3 Tagen zehn mal. 30 Leute sind begeistert, bis es plötzlich den Dienst versagt. Am 4. Tag. Der Referenzkunde ist frustriert und blamiert und bestellt das "tolle" Programm nicht mal selber. Geschweige von den anderen 30. Ein anderer startet es 30mal und ist sicher: "uff, das funktioniert perfekt". Dann lädt er seine 10 Freunde ein und startet es zum 31. mal..... :wall:

Chris1986 9. Feb 2004 16:49

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Zitat von Hansa
P.S.: Testtage und limitierte Programmaufrufe bringen auch nichts. Irgendein DAU wird das Programm immer wieder starten, um es stolz zu präsentieren, sagen wir mal an 3 Tagen zehn mal. 30 Leute sind begeistert, bis es plötzlich den Dienst versagt. Am 4. Tag. Der Referenzkunde ist frustriert und blamiert und bestellt das "tolle" Programm nicht mal selber. Geschweige von den anderen 30. Ein anderer startet es 30mal und ist sicher: "uff, das funktioniert perfekt". Dann lädt er seine 10 Freunde ein und startet es zum 31. mal..... :wall:

Man sollte nicht die Programmstarts zählen, sondern eben nur die Tage, an denen das Programm tatsächlich schon einmal oder eben mehrmals verwendet wurde . . .

MfG
Christian

MrKnogge 9. Feb 2004 17:28

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Zitat von Christian Seehase
Moin Sharky,

such doch mal bei Sourceforge nach TurboPower.
Wenn ich mich recht entsinne, gab's davon auch eine Komponentensammlung für Lizenzen/Seriennummern.
Vielleicht geht's damit.

Da ging es zwar um Serials aber als ich bei sourceforge.net nach OnGuard gesucht hab,
hab ich auch was von Testversionenn(Beschränkungen von TestTage, Datum, Funktionen) gelesen

flomei 9. Feb 2004 19:09

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Weiss ja nicht ob das schon gesagt wurde aber man könnte auch sagen: 100 Programmstarts danach is Ende.

Da schreibt man irgendwo nen Wert in die Registry oder sonstwo hin, zählt den beim Programmstart immer um 1 hoch und dann muss man nur noch machen, dass sich das Programm 1x in 24 Stunden selbst beendet, sonst könnte man es ja einfach immer laufen lassen... :zwinker:

MfG Florian :hi:

Matze 9. Feb 2004 19:11

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Das find ich aber irgendwie doof, einfach beenden.

Achja, sowas in der Art wurde schon besprochen. ;)

Schubi 9. Feb 2004 19:30

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
In der JEDI-VCL hats ne Komponente zur beschränkung der Programmstarts. Aufs Form ziehen, Tage einstellen und fertig

MrKnogge 9. Feb 2004 20:25

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Zitat von Schubi
In der JEDI-VCL hats ne Komponente zur beschränkung der Programmstarts. Aufs Form ziehen, Tage einstellen und fertig

Aber wie wierd die Start-Anzahl gespeichert ?
Wenn es in die Registry geschrieben wird, kann man dann den Schlüssel selbst bestimmen ?
- So könnte man ihn in der Uninstall-Routine wieder entfernen.

Schubi 10. Feb 2004 06:44

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Ups, falsch gedacht. man stellt net die Tage ein sondern das Datum bis zu dem das Programm funktionieren soll.

Die Komponente nennt sicht TJvTimeLimit in der Registerkarte Jv Utils

fkerber 10. Feb 2004 14:51

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Hi!

Das ist dann aber nicht so toll.

Dann muss man ja das Programm (wenn es irgendwo zum Download angeboten wird) ständig ändern, oder?

Ciao fkerber

Schubi 10. Feb 2004 15:20

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Stimmt schon. Ich sagte auch net, dass ich die Lösung toll finde...

Kennt einer von euch das 3D-Programm "Inventor"?

Die haben das geil gelöst!

Man installiert das Ganze, und spätestens nach 14 Tagen muss man das Programm aktivieren, sonst startet es nicht mehr.
Haken #1: Der Aktivierungsschlüssel ist mehrere KB groß
Haken #2: Verstellt man bei einer nicht aktivierten Version das System-Datum kommt die Meldung,
dass das Datum geändert wurde. Dann die Frage ob das neue Datum richtig ist. Wenn ja, werden die restlichen Tage halbiert, ansonsten das Programm sofort deaktiviert.
Haken #3: Kopieren der Schlüssel auf mehrere Systeme ist nicht möglich, mehrmals auf dem selben System benutzen auch net. Jedesmal wenn man sein System neu macht darf man den Schlüssel neu anfordern.

Echt unüberwindbar der Schutz!

MrKnogge 10. Feb 2004 15:58

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Nun unüberwidbar, ist wohl etwas weit aus dem Fenster gelehnt, ansonsten wäre der Programmierer Reich :mrgreen:

Aber das ist auch eine Idee, du baust einfach noch zusätzlich das Installationsdatum von Windows mit in den key, somit wäre er (fast) nicht übertragbar !

devnull 10. Feb 2004 16:24

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
noch ein nachtrag zu einträgen in die registry:
- man kann mit verschiedenen tools zugriffe auf die registry feststellen/überwachen
- wenn man beim entfernen der anwendung auch den registry-pfad löscht, dann wäre das
programm nach einer neuinstallation doch wieder lauffähig ?!
die lösung, dass das programm bis zu einem bestimmten datum läuft, zum beispiel 30 tage
nach installationsdatum, ist da bestimmt viel besser ...

ich hoffe, dass das weiterhilt :lol:

Matze 10. Feb 2004 17:15

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Zitat von devnull
die lösung, dass das programm bis zu einem bestimmten datum läuft, zum beispiel 30 tage
nach installationsdatum, ist da bestimmt viel besser ...

Wo willst du denn das Installationsdatum speichern, auch in der Registry?
Wenn man den key beim Deinstallieren löscht, würde die Demo wieder laufen...

Und wie überprüfst du das aktuelle Datum?
Date(Now) geht wohl nicht, sonst könnte der Anwende einfach das Datum zurückstellen, dann würde die Demo auch weiterlaufen (geht meistens bei guten programmen auch :mrgreen: ).

MrKnogge 10. Feb 2004 17:35

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Zitat von devnull
- wenn man beim entfernen der anwendung auch den registry-pfad löscht, dann wäre das
programm nach einer neuinstallation doch wieder lauffähig ?!

Ja, das stimmt so, aber sonst wäre die Registry nach einer weile voller "DemoEinträge" !

Aber:

Was machst du wenn der Benutzer keine Admin-Rechte hat ?
Meines Wissens nach kannst du dann keine Registry-Einträge schreiben, bzw. der Tester
könnte alle 30 Tag seinen Windows-Benutzer löschen und wieder erstellen.

Wie du also siehst, bringt es nicht sonderlich viel, die Registry-Einträge beizuhalten...



Was das Datum-Problem angeht, ich würde das Datum mit Zeit bei jedem start speichern, sollte plötzlich das aktuelle Datum niedriegesein als ein gespeichert, so sperrst du den Programm.

MikeS 10. Feb 2004 17:44

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Zitat:

Was das Datum-Problem angeht, ich würde das Datum mit Zeit bei jedem start speichern, sollte plötzlich das aktuelle Datum niedriegesein als ein gespeichert, so sperrst du den Programm.
Mein Vorschlag dazu wäre dann einen vorher angelegten Registry Eintrag zu löschen den
das Programm beim starten abfragt!
Wenn dieser nicht existiert dann startet es nicht!

MrKnogge 10. Feb 2004 17:57

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Die idee ist gut :thuimb:

allerdings solltest du mehrere Varianten gleichzeitig verwenden,
da der Benutzer sich ja beispielsweise das RegistrySchreibRecht
sperren, bzw. Programme wie "HDGuard" machen beim Herunterfahren
oder Starten von Windows alle Änderungen wieder Rückgängig.

Matze 10. Feb 2004 18:54

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Ja, also diese Lösung, würde ich sagen, ist echt die sinnvollste. :)

johny 12. Feb 2004 13:21

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Nun, löschen würde ich die Datenbank nicht, das macht keinen guten Eindruck. Ich würde micht kaum für ein Programm entscheiden, dessen Demo-Version einfach Dateien löscht. Ausserdem könnte es - wie bereits erwähnt - rechtliche Probleme geben.

Schubi 12. Feb 2004 13:33

Re: Demoversion! Was ist erlaubt? Wie wirds gemacht?
 
Schon mal dran gedacht die Datenbank mit einem Passwort zu schützen oder zu verschlüsseln?
Und wer das Programm registriert, bekommt auch das Passwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz