Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm durch Lizenznummer freischalten/erweitern (https://www.delphipraxis.net/64398-programm-durch-lizenznummer-freischalten-erweitern.html)

Sharky 3. Mär 2006 07:01


Programm durch Lizenznummer freischalten/erweitern
 
Hai ihr lieben,

ich arbeite zur Zeit an einem Programm für eine Hausverwaltungsfirma mit dem sie die möglichen Mieterhöhungen der Wohnungen/Mieter verwalten können.

Jetzt stellt sich mir die Frage nach dem "Verkaufsprinzip". Ich kann entweder sagen:
  1. Programm kostet x Euro
  2. Pro User-Lizenz kostet das Programm x Euro
  3. Pro Wohnungs-Lizenz kostet das Programm x Euro

Den zweiten Punkt möchte ich fast ausschliessen da die Firma dann sicher eine ein oder zwei Userlizenz kauft da nicht alle Mitarbeiter das Programm gleichzeitig nutzen werden.

Punkt 1 hat den Vorteil das ich mich um Freischaltung usw. nicht kümmern muss. Nachteil ist aber das es einen relativ hohen Preis haben wird was denn Kunden dann abschreckt.

Bei Punkt drei sehe ich den Vorteil das die Kosten dür das Programm sich an die Gegebenheiten anpassen.

Aber die große Frage: Wie löse ich das vernünftig mit Lizenzschlüsseln? Der Kunde muss also jederzeit die Möglichkeit haben zusätzliche Lizenzen zu erwerben.

Am schönsten wäre es wenn ich in solch einem Lizenzschlüssel auch eine zeitliche Begrennzung einbauen könnte. Dadurch könnte der Kunde ersteinmal einen Demo-Key für eine bestimmte Anzahl von Wohnungen bekommen um das Programm zu testen.

Hat einer von euch einige Denkanstösse für mich?

Luckie 3. Mär 2006 07:06

Re: Programm durch Lizenznummer freischalten/erweitern
 
Mit Shareit läßt sich das Regeln. Aber da hat hansa glaube ich mehr Ahnung. Ansonsten würde ich noch mal bei www.s-a-ve.de vorbeigucken, eventuell findest du dort eine Anregung.

Sharky 3. Mär 2006 07:21

Re: Programm durch Lizenznummer freischalten/erweitern
 
Hai Luckie,

das Programm wird ja nicht über das Internet vertrieben da ich mit dem Kunden direkt in Verbindung stehe.

dataspider 3. Mär 2006 07:36

Re: Programm durch Lizenznummer freischalten/erweitern
 
Zitat:

Zitat von Sharky
  1. Programm kostet x Euro
  2. Pro User-Lizenz kostet das Programm x Euro
  3. Pro Wohnungs-Lizenz kostet das Programm x Euro

Ich würde nur Punkt 3 ausschliessen.
Ich denke da z.B. an ein Auto. Ich würde es nicht einsehen, wenn ich einen höheren Preis bezahle, weil ich mehr damit fahre.
Wenn ich aber immer 6 Personen mitnehmen möchte, muss ich ein grösseres Auto kaufen.

Ich benutze eine Lizenzdatei, in welcher die Anzahl der freigeschalteten User, Mandanten und Funktionen verschlüsselt ist.

Die Anzahl der gleichzeitig arbeitenden User lässt sich in der Regel ermitteln.

Kauft der Kunde eine Erweiterung um 5 User, erhält er eine neue Lizenzdatei.

Hier mal mein Aufbau:
Delphi-Quellcode:
unit RW_BaseLiz;

{
  Aufbau Lizenzdatei:
  Stelle  1 -  20 /  20 - Random Zeichenkette zum Vercrypten
          21 -  35 /  15 - (5/2/8 - Produkt/Version/Nummer)
          36 -  40    05 - Lizenzschalter
                           1. Stelle Entwicklerversion
                           2. Zeitbegrenzung
                           3. Stelle Updateberechtigt
                              M = Minorversion
          41 -  50 /  10 - Beginn Lizenz
          51 -  60 /  10 - Ablauf Lizenz
          61 -  70 /  10 - Updates bis Datum
          71 - 110 /  40 - Lizenznehmer Name
         111 - 150 /  40 - Name1
         151 - 190 /  40 - Name2
         191 - 230 /  40 - Name3
         231 - 270 /  40 - Strasse
         271 - 280 /  10 - Hausnummer
         281 - 285 /   5 - Land
         286 - 290 /   5 - Plz
         291 - 330 /  40 - Ort
         331 - 430 / 100 - Module (Schalter)
         431 - 510 /  80 - Reserve
         511 - 520 /  10 - HashCodeA CryptString als Integer Hash11
         521 - 530 /  10 - HashCodeB Lizenz als Integer Hash11
}
Ich sehe gerade, mein Kommentar ist lückenhaft. Es gibt noch Anzahl Mandanten und Anzahl User.

Cu, Frank

diComm 3. Mär 2006 08:26

Re: Programm durch Lizenznummer freischalten/erweitern
 
@dataspider
man kann das mit dem Auto aber auch anders sehen. Je mehr Personen du als Fahrer befördern willst, desto grösser muss dein Auto sein. Auf die Software angewandt: je mehr Kunden du als Benutzer mit deiner Software verwalten willst, desto grösser und teurer ist die Software... oder so

Jedenfalls sind wir gerade dabei, eine Lohn-Software zu erstellen und werden diese auch nach diesem Prinzip vertreiben. Die Grundlizenz wird für 15 Lohnempfänger ausgelegt sein und mit einer erweiterten Lizenz können dann lohnempfänger hinzugekauft werden (erweiterung jeweils um 5 Lohnempfänger).

Allerdings haben wir uns noch nicht auf ein System geeinigt, wie wir das realisieren werden. Vermutlich wird irgendwo eine Lizenzdatei verschlüsselt rumliegen, und diese wird die Datenbank beschränken (bei jedem Anlegen eines neuen Empfängers wird geprüft ob das die Lizenz überhaupt zulässt)

mschaefer 3. Mär 2006 12:49

Re: Programm durch Lizenznummer freischalten/erweitern
 
Sehe ich das richtig, das dann der Datenbankserver die Lizensdatei verarbeiten müßte. Nur der kann ja entscheiden, ob noch ein User angemeldet werden darf ?!?

Grüße // Martin

diComm 3. Mär 2006 13:00

Re: Programm durch Lizenznummer freischalten/erweitern
 
Bei unserer Software ist die Datenbank auf dem gleichen Rechner wie die Applikation (Interbase...).

Aber auch sonst kannst du doch auch über die Appliaktion z.B. ein RecordCount machen und mit der Lizenzdatei abgleichen? Die Applikation "weiss" so auch wieviele Datensätze erfasst wurden und kann so mithilfe der Lizenzdatei entscheiden.

Jelly 3. Mär 2006 13:03

Re: Programm durch Lizenznummer freischalten/erweitern
 
Sharky, schau mal bei www.ionworx.com vorbei, da gibts ganz nette Komponenten und Tools zum Verwalten von Lizenzschlüssel, sogar mit Freischaltung über einen Server. Ich persönlich nutze nur das Produkt IceLicense, mit dem Du mit der mitgelieferten Delphi Komponente das ganze Lizenzgeschehen selbst in deinem Programm in der Hand hast. Neben Lizenschlüssel zum Freischalten der Software, kannst Du auch noch andere Parameter in den Schlüssel mit aufnehmen. Zu deinem 3. Punkt wäre das dann sozusagen die Anzahl der maximal verwaltbaren Häuser. Kommen neue Häuser hinzu, kauft der Kunde eine zusätzliche Lizenz, die Du mit dem Tool IceLicense dann erstellst und ihm gibtst. Er kann die dann ganz leicht einbinden, und schon darf er ein Haus mehr in der DB aufnehmen.

Und vor allem... Das Tool arbeitet mit relativ starken Verschlüsselungsverfahren, so dass es auch nicht so ohne Weiteres möglich sein sollte, die Limitierung durch ein Patch zu limitieren... Du hast doch auch mein Programm Rema mal zu Weihnachten geschenkt gekriegt, das verwendet selbst auch die besagte Komponente.

dataspider 3. Mär 2006 13:07

Re: Programm durch Lizenznummer freischalten/erweitern
 
Zitat:

Zitat von mschaefer
Sehe ich das richtig, das dann der Datenbankserver die Lizensdatei verarbeiten müßte. Nur der kann ja entscheiden, ob noch ein User angemeldet werden darf ?!?

Grüße // Martin

Das ist nich richtig.
Zum Programmstart lese ich die Lizenzdatei ein und prüfe die Anzahl der mit der DB verbundenen User mit der Zahl in der Lizenzdatei.
Dabei nutze ich die Möglichkeiten von IBO (Firebird DB). Die Connection liefert über Users (TStrings) alle Informationen.
Also:
Delphi-Quellcode:
if Connection.Users.Count > Lic.MaxUser then
begin
  // nur als Beispiel
  ShowMessage('Maximale Anzahl Benutzer erreicht...');
  Connection.DisConnect;
  Application.Terminate;
end;
Cu, Frank

Sharky 3. Mär 2006 15:02

Re: Programm durch Lizenznummer freischalten/erweitern
 
Zitat:

Zitat von Jelly
Sharky, schau mal bei www.ionworx.com vorbei, ....

Hai Jelley,

leider kostet das Produkt ja einige Euros (300 mit Souce). Aber das "Hauptproblem" ist das es wohl keine D2006 Version in der Trial gibt und ich es darum nicht testen kann.

Ich werde mir morgen mal überlegen ob ich da nicht selber etwas machen kann.

Die Idee von dataspider mit der Lizenzdatei ist ja nicht schlecht. Das in Verbindung mit einem Schlüssel zum entschlüsseln der Datei und dann das ganze im Datenbankserver zu hinterlegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:00 Uhr.
Seite 1 von 2  1 2      

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