Einzelnen Beitrag anzeigen

Athris

Registriert seit: 18. Nov 2014
28 Beiträge
 
Delphi XE2 Professional
 
#1

Eine Demoversion erstellen - Welche von vielen Möglichkeiten?

  Alt 13. Dez 2017, 09:56
Hallo!

Da ich immer noch ein Freund davon bin von seiner Software eine Demoversion bereitzustellen, habe ich mir nun schon länger Gedanken gemacht wie man dies am besten Umsetzt. Hierbei sind mir bisher drei Möglichkeiten eingefallen, zu denen ich gerne eure Meinung / Erfahrung hören würde. Gerne nehme ich auch weitere Möglichkeiten an.

Vorab eine kleine Information zur Aktivierung in der Vollversion:
Grundsätzlich prüft das Programm bei jedem Start ob es eine gültige Aktivierung gibt. Sollte keine Internetverbindung bestehen so kann das Programm maximal 30 Tage ohne Internetverbindung ausgeführt werden. Danach muss zwingend eine Aktivierungsüberprüfung statt finden.



1. Möglichkeit: Einfacher Boolean Wert
Bei der Aktivierung kann gewählt werden "Als Demoversion starten". Intern wird eine Boolean Variable auf Demoversion gesetzt und an allen relevanten Punkten wird mittels
Code:
if (flgDemo) then begin
geprüft ob das Programm im Demo oder Vollmodus läuft.

Vorteile:
  • Einfach umzusetzen
  • Umschalten folgt an einer zentralen Stelle
  • Alles läuft in einem Projekt
  • Nur eine Exe Datei wird benötigt und kann ggf. direkt in eine Vollversion umgewandelt werden

Nachteile:
  • Das Cracken der Demoversion ist sehr einfach (eine Variable muss umgebogen werden)
  • Die Demoversion ist genau so groß (Dateigröße) wie die Vollversion

2. Möglichkeit: Compiler Schalter und Projektgruppe
Es wird eine Projektdatei "Program_Full" und eine "Program_Demo" angelegt und als Projektgruppe gespeichert. Beide Projekte greifen auf die selben Units zu. In den Units wird dann anhand eines Compiler Schalters (welche bei "Program_Demo" gesetzt und bei "Program_Full" nicht gesetzt ist) gesteuert welche Punkte zur Verfügung stehen.

Vorteile:
  • Umschalten einfach, da beide Projekte in einem Zug kompiliert werden können
  • Cracken der Demoversion schwieriger, da Vollversionsprogrammteile nicht mit kompiliert werden (Ist das so?)
  • Demo Exe sollte kleiner sein, als die Vollversion Exe

Nachteile:
  • Zwei unterschiedliche Exe Dateien. Ein Upgrade auf die Vollversion ist nur via Exe Tausch möglich

3. Möglichkeit: Zwei komplett getrennte Projekte
Es werden zwei komplett eigene Projekte erzeugt welche in eine Projektgruppe zusammengefasst werden. Jedes Projekt hat seine eigenen Units.

Vorteile:
  • Umschalten einfach, da beide Projekte in einem Zug kompiliert werden können
  • Cracken der Demoversion unmöglich, da der gesamte "Vollversionsquellcode" gar nicht vorhanden ist
  • Saubere Trennung innerhalb des Quellcodes (keine IFs)
  • Demo Exe sollte kleiner sein, als die Vollversion Exe

Nachteile:
  • Doppelter Pflegeaufwand von Bugfixes oder neuen Features (beides muss immer in beiden Projekten eingepflegt werden)
  • Zwei unterschiedliche Exe Dateien. Ein Upgrade auf die Vollversion ist nur via Exe Tausch möglich
  Mit Zitat antworten Zitat