Ersteller der Testversion

Ich entwickle Software. Für einige Produkte möchte ich eine zeitlich begrenzte Demoversion beantragen. Um das zu erreichen, möchte ich ein "einfaches" Tool in einem Post-Build-Schritt anwenden, um das normale Produkt zu einer Demoversion zu machen.

Ich habe zuvor eine ähnliche Frage zu Stack Overflow gestellt, aber es scheint, dass es keine Möglichkeit gibt, dasselbe mit Code Signing zu erreichen .

Das Werkzeug sollte

  1. Begrenzen Sie die Zeit, in der eine Zielanwendung gestartet werden kann

    • zu einem festen Datum, das ich zur Kompilierzeit festlege
    • oder auf ein relatives Datum ab dem ersten Bewerbungsstart
    • oder zu einer Reihe von Anwendungsstarts

    (Ich interessiere mich nicht wirklich für das Testmodell)

  2. als Post-Build-Schritt ausführen (kein Code in meiner Anwendung erforderlich)
  3. Ich brauche keine Lizenzschlüsseleingabe wie Application Trial Maker , da ich keinen Aufwand für die Verwaltung der Demolizenzen haben möchte
  4. bieten einige Versuche, Cracking zu verhindern (nicht nur ein Indikator, z. B. eine Datei, Registrierung und alternative Datenströme verwenden) und überleben eine Deinstallation des Produkts, auf das sie angewendet werden
  5. lauffähig unter Windows 7 SP 1 bis Windows 10 (Kompilierzeit)
  6. offline laufen (Kompilierzeit)
  7. Patchanwendungen für Windows 7 SP 1 bis Windows 10 (Runtime)
  8. Arbeit mit .NET-Anwendungen (bitte erwähnen Sie auch .NET-only-Lösungen, da dies mein Hauptteil ist)
  9. kostet weniger als 100 € (kostenlos / kostenlos / Open Source bevorzugt)
  10. haben eine lebenslange Lizenz, keine jährlichen Kosten

Optional:

  • Wenn es eine Online-Aktivierung (Laufzeit) verwendet, muss der Aktivierungsserver auf einem Ubuntu LAMP-Stack ausgeführt werden. Bitte geben Sie an, ob eine Online-Aktivierung erforderlich ist. Da ich kein Freund von all dem Online-Zeug bin, müsste ich mir genauer ansehen, wie es im Detail funktioniert (was mich jedoch nicht davon abhalten wird, zu stimmen)
  • Das Tool (Kompilierzeit) sollte nicht an eine bestimmte Maschine gebunden sein (per Entwicklerlizenz). Wenn es an eine Maschine gebunden ist, sollte es eine klare Möglichkeit geben, die Maschine zu ändern (z. B. wenn der Build-Server ausgetauscht wird).

Antworten (1)

Hier sind einige Gedanken zu Ihren Anforderungen:

  • 2) Kein Code in meiner Anwendung erforderlich – Dies zeigt an, dass Sie einen Wrapper benötigen, um Ihre ausführbare Datei in eine andere ausführbare Datei zu verpacken. Dies wird es meiner Meinung nach einem Cracker erleichtern, die ursprüngliche ausführbare Datei zu entpacken und zu erhalten. Es kann auch Virenerkennungssoftware auslösen, da ein Wrapper im Wesentlichen ein anderes Programm aus einem Programm heraus startet
  • Zwei Versionen eines Programms zu haben (Kombination aus 1), 2) und 3)), eine Demo- und eine Produktionsversion, bedeutet, dass jemand, der die Produktionsversion in die Hände bekommt, diese frei weitergeben kann. Zwar legal, aber dennoch ungeschützt
  • 4) Überlebende Deinstallation – Für mich bedeutet dies, dass Sie entweder in Ihrem Wrapper oder in Ihrem Lizenzcodemodul so etwas wie die Computer-ID von Application Trial Maker erstellen müssen. Ein reiner Wrapper müsste ansonsten von so etwas wie dem Installations-/Erstellungsdatum oder dem Downloaddatum abhängen (wobei Sie jede Nacht eine Version bauen, die nur für einen bestimmten Datumsbereich gültig ist (aber dann könnten sie eine neue Demoversion herunterladen ...))

Auf der Grundlage dieser und einiger Lektüre des Application Trial Maker würde ich Folgendes vorschlagen, um eine geeignete Lösung zu erhalten:

  • Verwenden Sie den Application Trial Maker, aber schließen Sie ihn so ein, dass die einzige Änderung, die Sie an Ihrem Code benötigen, eine einfache Aufnahme in Ihre Hauptmethode ist. Nachdem Sie dies einmal getan haben, sollte es einfach sein, es in jedes Ihrer Projekte aufzunehmen
    • Wenn Sie darauf bestehen, eine Demoversion und eine Produktionsversion zu erstellen, erstellen Sie zwei Release-Builds, bei denen Sie Bedingungen verwenden, um die Lizenzmodulierung einzuschließen oder nicht
    • Wenn Sie zwei Versionen erstellen, können Sie sich dafür entscheiden, das Lizenzcode-Bit wegzulassen
  • Wenn Sie den Lizenzcode einschließen, versuchen Sie, ihn etwas automatischer zu machen. Eine Option könnte darin bestehen, dem Lizenzfenster eine Schaltfläche hinzuzufügen, die eine HTTP-Anforderung mit der Computer-ID auslöst, die den Lizenzcode zurückgeben könnte. Dies in Kombination mit der Option, Ihr Programm zu kaufen (wobei die Computer-ID angegeben werden muss), könnte den Aufwand verringern. Sie könnten/sollten aber immer noch die Möglichkeit haben, E-Mails mit einer Computer-ID mit diesem System zu verknüpfen, aber dies kann auch etwas automatisch erfolgen

Mit anderen Worten, ich glaube, dass die Software, die Sie anfordern, eine Wrapper-Software, nicht existiert, und Sie müssen Ihre Anforderungen neu überdenken, was Ihnen wirklich wichtig ist und was Sie auf einem kompetenten Niveau für sich arbeiten lassen können Sicherheit. Basierend auf Ihren eigenen Informationen scheint es eine gute Lösung zu sein, die Konfiguration des Application Trial Maker zu optimieren und möglicherweise ein kleines System um die Handhabung des Lizenzcodes herum aufzubauen.