Ich habe eine kommerzielle Software mit System-zu-System-Lizenzierung entwickelt. Für die Lizenzierung verwende ich verschiedene Parameter wie CPU-Informationen, Festplatteninformationen, BIOS und andere Dinge.
Das Problem ist, dass die Lizenz aufgrund von Änderungen dieser Eigenschaften ständig abläuft. Kunden rufen mich ständig an und sagen, dass ihre Lizenz nicht funktioniert.
Ich habe die Lizenzierung geändert, um nur Folgendes zu verwenden:
- Prozessor-ID
- CPU-Name
- CPU-Anzahl der Kerne
- CPU Anzahl logischer Prozessoren
- Die Architektur
Ändern sich diese Eigenschaften nach einer Neuinstallation von Windows?
Ich möchte keine serverseitige Serienschlüsselvalidierung, da die meisten dieser Systeme keine Internetverbindung haben
Antwort1
Keines der von Ihnen aufgelisteten Elemente sind tatsächlich eindeutige Daten. Ob sie sich nach einer Neuinstallation von Windows ändern oder nicht, ist für Ihre tatsächlichen Anforderungen mehr oder weniger bedeutungslos.
Am wahrscheinlichsten eindeutig ist ProcessorID, aber auch hier gibt es keine Garantie für die Eindeutigkeit:https://stackoverflow.com/questions/1101772/win32-processoris-processorid-unique-for-all-computers
Da diese Informationen nicht eindeutig sind, sind sie für die Lizenzvalidierung nicht geeignet.
Die anderen Werte sind entweder konsistent oder können von Informationen abhängig sein, die ein Treiber bereitstellt (z. B. CPUName).
Ihr Grundproblem liegt darin, dass Sie keine geeigneten Grundlagen für Ihr Lizenzsystem ausgewählt haben.
Antwort2
Keines davon würde ich für gültig halten, wenn Sie eine gute kommerzielle Lizenzierung wünschen:
- Prozessor-ID
- CPU-Name
- CPU-Anzahl der Kerne
- CPU Anzahl logischer Prozessoren
- Die Architektur
Keiner ist einzigartig, aber alle können sich ändern.
Erlauben Sie VMs jeglicher Art? Wenn ja, was passiert, wenn die Maschine plötzlich zwei Prozessoren benötigt, physisch oder logisch?
Was passiert, wenn ESXi/VmWare/VB den Prozessornamen versehentlich ändert oder WMI abstürzt/nicht mehr funktioniert?
Wenn die Rechner offline sind, würde ich mich wahrscheinlich für einen Schlüssel für die Software entscheiden, insbesondere wenn dadurch viele Supportanrufe ausgelöst werden. Andernfalls „reparieren“ Sie möglicherweise Lizenzen und tun genau das, was Ihr fehlerhaftes Lizenzmodell zu verhindern glaubt. Doppelter Schlag.