Hi Andy,
gehen wir lieber mal von OpenLicense aus, da Aspose für mich noch bissel verwirrend ist ^^ Mit OpenLicense funktionierts wenigstens bei mir. Und wegen DemoWare muss ich erst mal bissel rumspielen dann versuche ich es zu erklären
Also:
Als erstes erstellst du mit dem OpenLicense Builder eine License, wählst deine *.exe oder *.dll aus und OpenLicense erstellt alles weitere dazu selbst, dann erstellen wir die Beschränkungen. Was die einzelenen Beschränkungen bedeuten entnimmst du lieber der Hilfe, gehen wir mal von "Demo" aus, du gibst unter Eigenschaften ein Startdatum und Enddatum ein, sagen wir mal 29.10.04 und 31.10.04. Somit wird deine Anwendung nur in diesem Zeitraum laufen. Speicherst vorerst die Datei und license.lic ab. Die Datei ist erst nicht verschlüsselt wie man diese verschlüsselt erkläre ich weiter unten. So nun gehen wir ans programmieren, erstellen uns mal ein Test Projekt.
Nach dem wir das gemacht haben, müssen wir folgende Sachen für OpenLicense erledigen, als erstes fügen wir als Referenz die OpenLicense *.dll und im Quelltext usen wir OpenLicense:
So mein Test Projekt heißt z.B. WindowsApplication2 und die Class heißt ITWORKS, dies sollte jetzt wie folgt aussehen:
Code:
[LicenseProvider(typeof(OpenLicense.OpenLicenseProvider))]
public class ITWORKS : System.Windows.Forms.Form
{
private System.ComponentModel.Container components = null;
public ITWORKS()
{
LicenseManager.Validate(typeof(ITWORKS));
InitializeComponent();
}
Nun währen wir schon fertig, da OpenLicense schon versucht die Datei zu validieren, übringens OpenLicense überprüft zuerst das bin Verzeichniss, dann erst die Embedded Resources, du kannst also wenn du deine Anwendung vertreibst ne Demo einbauen und wenn der Kunde die Anwendung kauft schickst du ihm einfach die License, schon läuft deine Anwendung als Vollversion, da OpenLicense die Vollversionlicense zuerst gefunden hat. Theoretisch könntest du die Anwendung schon starten, aber würdest eine Fehlermeldung bekommen, das die Licensedatei nicht richtig ist. Jetzt musst du die Licensedatei umbennen wie ich schon gesagt habe, heißt mein Namespace WindowsApplication2 und meine Class ITWORKS, der Namensaufbau der License sollte jetzt wie folgt aussehen:
Namespace.Class.lic - WindowsApplication2.ITWORKS.lic.
Wenn du deine Anwendung nun startest, erkennt er die korrekte Licensedatei. Wenn du jetzt mal dein Datum auf 31.10 oder 01.11 änderst und dann die Anwendung wieder startest, wird eine Fehlermeldung kommen, das die Licensedatei nicht gültig ist, man kann auch selbst Fehlermeldung generieren, z.b. kann man ihrgendwie prüfen das die Demo abgelaufen ist und dann schreibt man selbst, die Demo ist abgelaufen blablabla. Das muss ich aber noch herausfinden wie das geht, ihrgendwo habe ich ein Beispiel gesehen. Aber das erfüllt schonmal das was du haben wolltest. Auf die Verschlüsselung komme ich später zu sprechen. Hoffe das hilft dir schonmal.