In eine
DLL gepackt wäre es quasi unabhängig
Eine
DLL hat aber auch den Nachteil, dass sie relativ leicht ersetzt und der Schutz damit umgangen werden kann.
Ich verwende bei einem Programm seit ca. 25 Jahren (damals mit Delphi 5, jetzt Delphi 12) auch einen Lizenzdongle. Allerdings liegt dafür der benötigte Zugriffscode zum Dongle-Treiber als OBJ-Datei vor, die ich problemlos in die EXE linken kann. Die Delphi-
Unit dazu habe ich selbst geschrieben, da mir die mitgelieferte Version irgendwie etwas lieblos zusammengestrickt erschien. Aber ich gestehe dem Hersteller zu, dass er ja sowas auch für zig andere Sprachen liefern muss.
Zwischenzeitlich hatte ich mal versucht, das auf eine simple, personalisierte Lizenznummer umzustellen, die hardwareunabhängig lief. Leider wurde das sehr schnell und übermäßig missbraucht. Man glaubt gar nicht, wie dreist manche Leute sind und mit so einer offensichtlich fremden Lizenz bei mir anrufen und Support erwarten.