Lizenz- und Konfigurationsinformationen auslesen

Wurde als Startdatei eine EXE Datei definiert, so sollte die Anwendung ohne Modifikation lauffähig sein. Sollte die EXE Datei jedoch auf Konfigurationsdateien zugreifen, welche beim nächsten Programmstart verfügbar sein sollen, ist eine Modifikation erforderlich.

 

Testen Sie Ihre Anwendung. Sollte die Anwendung auf die Konfigurationsdateien im Installationsordner zugreifen, so ist dieser für die EXE Datei nicht mehr ersichtlich. Der Name des Installationsordners kann jedoch aus der XML Datei ausgelesen werden. Dieser ist unter der Variable <Install-Path-Player> ersichtlich.

 

Die Konfigurationsdatei enthält zudem weitere Informationen, wie zum Beispiel den registrierten Kundenname, Informationen zur Zeitlimitierung oder Aktivierungsstatus des Produktes.

 

Der All-In-One Player stellt Ihnen die Dateien "mp-config.xml" und "mp-config.txt" zur Laufzeit bereit, welche über den gleichen Inhalt verfügen. Wenn Ihr Programm in der virtuellen Zone läuft, sind diese Dateien nicht sichtbar. Verwenden Sie einfach die Datei, welche von Ihrer Anwendung verwendet werden kann. Die Dateien sind auf dem Verzeichnis, auf dem sich die EXE Datei befindet.

 

Die Dateien enthalten viele Informationen. Einige sind für zukünftige Funtionen vorgesehen und werden in dieser Dokumentation nicht erwähnt. Sie können ein Beispiel für jede Datei downloaden. Jetzt Downloaden!

 

mp-config.xml

 

Diese Datei ist im XML Format und kann nur durch einen XML parser gelesen werden.

<Default>

<Install-Path-MMF>  - Pfad, in welchem die *.mmf Datei (Datenbank) abgelegt ist
<Install-Path-Player> - Installationspfad der Anwendung
<Player-Name> - Name des All-In-One Player, zum Beispiel myapp.exe
<MMF-Name> - Name der *.mmf Datei, zum Beispiel myappdata.mmf

<SerialNumber> - die Seriennummer die verwendet wurde, um das Produkt zu aktivieren
<StartExe> - Name der Startdatei, zum Beispiel yoursource.exe

 

<LicenceInfo>

<Customer> - Name des Lizenzinhabers. Dieser wurde während der Produktaktivierung festgelegt

<LicFile>- Pfad und Name der Lizenzdatei

 

<Module1>

<TotalLicences> - Anzahl der maximalen Netzwerklizenzen, welche im Bildschirm Lizenzinformationen oder in der Seriennummer definiert wurden.

<RemainingLicences> - Anzahl der in einer Netzwerkinstallation noch zur Verfügung stehenden Lizenzen.

<ExpiredOn> - Ablaufdatum der Lizenz - wurde das Ablaufdatum auf den 30.12.1899 festgelegt, handelt es sich um eine Version ohne Zeitlimitierung.

<RemainingDays> - Anzahl der noch verfügbaren Tage, in welchen das Produkt evaluiert oder die Vollversion gestartet werden kann. Wurde der Wert auf -1 festgelegt, existiert keine Zeitlimitierung.

<LicenceType> - S - Lizenzen pro Computer, U = Lizenz pro User, R = Lizenz pro Concurrent User - Definiert im Bildschirm Lizenzinformationen

<DemoMode> - true = Demoversion, false = Vollversion (Produkt ist aktiviert)

<WebActivation> - 0 = Status nach erstem Programmstart (es wurde keine Seriennummer eingespielt); 1 = Seriennummer wurde eingespielt; 2 = Produktaktivierung wurde durchgeführt; 3 = Fehlerhafte Aktivierung.

 

mp-config.txt

 

Diese Datei entspricht dem standard Windows INI Format.

 

[Default] - Name der Sektion, welcher zum Auslesen eines Parameters erforderlich ist.

Install-Path-MMF  - Pfad, unter welchem die Datenbankdatei (MMF) abgelegt ist.
Install-Path-Player - Installationspfad der Anwendung
Player-Name - Name des All-In-One Player, zum Beispiel "myapp.exe"
MMF-Name - Name der MMF Datei, zum Beispiel "myappdata.mmf"

SerialNumber - die Seriennummer die verwendet wurde, um das Produkt zu aktivieren
StartExe - Name der Startdatei, zum Beispiel yoursource.exe
 

[LicenceInfo]

Customer - Name des Lizenzinhabers. Dieser wurde während der Produktaktivierung festgelegt.

LicFile - Pfad und Name der Lizenzdatei

 

[Module1]

TotalLicences - Maximale Anzahl der Netzwerklizenzen, welche in der Kategorie Lizenz Informationen oder in der Seriennummer festgelegt wurden.

RemainingLicences - Noch zur Verfügung stehende Netzwerklizenzen.

ExpiredOn - Ablaufdatum der Lizenz. Wurde der "30.12.1899" angegeben, so handelt es sich um eine Version ohne Zeitlimitierung.

RemainingDays - Noch zur Verfügung stehende Tage, in welchen die Evaluierungs- oder Vollversion genutzt werden kann. Wurde der Wert auf "-1" gesetzt, so besteht keine Zeitlimitierung.

LicenceType - S - Lizenz pro Computer, U = Lizenz pro Benutzer, R = Lizenz pro Concurrent User. Wurde in der Kategorie Lizenz Informationen definiert.

DemoMode - true = Demoversion, false = Vollversion (Produkt ist aktiviert)

WebActivation - 0 = Status nach Starten des Programmes. Es wurde keine Seriennummer eingegeben. 1 = Eine Seriennummer wurde eingegeben. 2 = Produkt wurde aktiviert. 3 = Aktivierung fehlerhaft.

 

Die Variable Install-Path-Player enthält den Installationspfad Ihrer Anwendung. Dies wäre das Verzeichnis, in welchem Ihre Anwendung zuvor Konfigurationsdateien speicherte.

 

Es ist möglich, dass die geschützte EXE Datei (Variable: Player-Name) einen anderen Namen, als die originale EXE Datei besitzt (Variable: StartExe)

 

 

Verwenden Sie als Name der EXE Datei, den Namen der zu schützenden EXE Datei. Hiernach hat die geschützte EXE Datei den selben Namen   wie Ihre Original Datei.

 

Wo sollten Konfigurationsdateien abgelegt werden?

Da die Konfigurationsdatei sowohl über Schreib-, als auch Leserechte verfügen muss, können Sie diese nicht unter "C:\Program Files" speichern, da Sie unter Vista standardmäßig über keinen Zugriff auf diesen Ordner verfügen.

 

Auch wenn wir keine empfohlende Vorgehensweise, zur Speicherung von Dateien für alle Benutzer, von Microsoft erhalten haben, funktioniert nachfolgende Prozedur:

 

Abfragen der Ordnernamen

Über die Windows Registry ist es Ihnen möglich, den Namen des Ordners abzufragen.

 

Windows Vista

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Shell Folders

Common AppData

C:\ProgramData\

 

Windows XP

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\Shell Folders

Common AppData

C:\Dokumente und Einstellungen\Alle Benutzer\Anwendungsdaten

 

 

Erstellen eines Ordners

 

Speichern Sie die Konfigurationsdatei unter:

 

Windows Vista - C:\ProgramData\Ihr Firmenname\Name der Anwendung\app.dat

Windows XP - C:\Dokumente und Einstellungen\Alle Benutzer\Anwendungdaten\Ihr Firmenname\Name der Anwendung\app.dat

 

Standardmäßig verfügen die Benutzer unter Windows Vista nur über Leseberechtigungen und können somit nicht einsehen. Nachfolgend erhalten Sie  Informationen, wie Sie dem Ordner Schreibrechte hinzufügen können.

 

Einem Ordner während der Installation Schreibrechte hinzufügen

 

Einige Installer verfügen über die Funktion, die Berechtigungen eines Ordners zu verändern. Sie können hierzu nicht die standard Windows Tools "cacls.exe" oder "icacls.exe" (Vista) nutzen, da Sie über diese den Benutzer oder die Gruppe nur in der lokalisierten Sprache des Betriebssystemes ansprechen können. Beispiel: "Users" oder "Benutzer".

 

Es steht jedoch ein Tool namens "SetAcl.exe" zur Verfügung, welches über die SID, die Berechtigungen zu Ändern erlaubt. Dieses kann unter http://setacl.sourceforge.net/html/examples.html heruntergeladen werden. Eine Dokumentation erhalten Sie unter: http://www.grurili.de/index.html?/Grundlagen/WellKnown_SIDs.htm

 

Sie könnten nachfolgende Sequenz in Ihren Installer einbinden:

 

Kopieren der Datei "setacl.exe" in das Installationsverzeichnis.

Ausführen der Datei "Setacl.exe", zum Beispiel: "Installationsverzeichis\SetAcl.exe" -on "Installationsverzeichnis" -ot file -actn ace -ace "n:S-1-5-32-545;p:full;s:y" - Dies würde der Gruppe "Benutzer" volle Rechte auf dem Installationsverzeichnis einräumen. Die SID "S-1-5-32-545"  wird anstelle der Bezeichnung "Benutzer" verwendet.
 
Beachten Sie: "Installationsverzeichnis" ist der Pfad Ihres Installationsverzeichnises, zum Beispiel: "C:\ProgramData\Ihr Firmenname\Name der Anwendung"

 

Löschen der Datei "setacl.exe".