Entwickler-Ecke

Sonstiges (.NET) - Lizenzbedingungen


Azzidodabass - Di 02.09.08 20:02
Titel: Lizenzbedingungen
Hallo an alle,

habe eine kleines Programm geschrieben, und würde jetzt gerne mal folgende Funktion einbauen:

Beim ersten Start des Programms wird nicht das Hauptformular geladen sondern ein formular mit Lizenzbedingungen o.ä.
, die erstg gelesen werden müssen, bevor sich das Hauptfenster öffnet.

Beim erneuten Start sollte das natürlich nicht mehr zu sehen sein.

Aufwendig, oder???
Jemand ne Idee???


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Di 02.09.2008 um 20:09


Skiller-1988 - Mi 03.09.08 07:19

Sorry das ich hier mein Senf dazugeben muss, aber auch wenn es sicher eine der dümmsten Ideen ist funktionieren könnte es.
Also meine Überlegungen wären zuerst das sich das Programm in irgendeiner weise merken muss ob es schon einmalaufgerufen wurde, das könnte man ja in einer Variablen speichern und diese beim nächsten Neustart des Programms abfragen. Damit sich die variable auch speichert würde mir dazu nur das Thema Serialisierung einfallen.
Meine Idee wäre also bei jedem Start eine Variable abzufragen die (falls das Programm bereits schon einmal gelaufen ist) serialisiert wurde und somit sich merken kann ob das Programm bereits einmal das Fenster mit Lizenzbedingungen angezeigt hat.

Bitte nicht gleich meine Idee zwecks Performance in der Luft zerfetzen ist halt nur ne Idee.

Es ist besser wenn du das Thema deines Threads nochmal änderst weil es eigentlich nicht viel über dein Problem aussagt.


Regan - Mi 03.09.08 09:07

Mach doch einfach im Anwendungsdatenordner einen Unterordner, wo du die Einstellungen deines Programms auch speicherst, und dort überprüfst u einfach, ob (meinetwegen) eine Datei existiert oder, wenn du so und so Einstellungen zu schreiben hast, einfach einen Einstellungseintrag machst.


Skiller-1988 - Mi 03.09.08 09:44

user profile iconRegan hat folgendes geschrieben:
Mach doch einfach im Anwendungsdatenordner einen Unterordner, wo du die Einstellungen deines Programms auch speicherst...


Wie macht man sowas? Macht man sowas über Serialisierung oder meinst du hier etwas anderes?


Regan - Mi 03.09.08 09:53

Du holst dir einfach den Pfad zum Anwendngsdatenordner (einfach mal googlen). Dann setzt du dort deinen Firmennamen dahinter und dort dann deinen Anwendungsnamen. Danach erstellst du dort ein Datei (z.B. read.lock). und überprüfst bei jedem Start, ob die Datei existiert.


Skiller-1988 - Mi 03.09.08 10:04

Gut jetzt verstehe ich was du meinst. Ist das auch in der Praxis also bei kommerziellen Softwareprodukten der fall, also ist das in solch einen Problem die praktischste Lösung?


Azzidodabass - Mi 03.09.08 10:21

Das klingt doch alles sehr vielversprechend.

Wofür benötige ich die .lock datei, geht das nciht auch mit einer simplen text datei???
Ich hoffe ich disqualifiziere mich jetzt nicht mit der fragestellung:-)


Skiller-1988 - Mi 03.09.08 10:45

Eigentlich nicht kannst ja auch so überprüfen ob die Datei (auch wenns eine .txt ist) vorhanden ist.
Allerdings ist in diesem Fall eine eine read.lock - Dati empfehlenswerter.

Infos unter: http://de.wikipedia.org/wiki/Lock


Kha - Mi 03.09.08 11:28

Ich will euren Gedankengang nicht stören ;), aber im Framework gibts dafür wunderbare vorgefertigte Sachen wie typisierte Settings:
  1. In Properties\Setttings.settings eine neue Bool-Eigenschaft "HasReadEula" anlegen
  2. In Program.cs

    C#-Quelltext
    1:
    2:
    3:
    4:
    5:
    6:
    7:
    var settings = new Properties.Settings();
    if (!settings.HasReadEula) {
      new EulaForm().ShowDialog();
      settings.HasReadEula = true;
      settings.Save();
    }
    Application.Run(...