2009-03-25 9 views
4

Ich habe ein Programm, das eine Konfigurationsdatei verwendet.Funktion auf einen bestimmten Computer beschränken

Ich möchte die Konfigurationsdatei an den PC binden, so dass das Kopieren der Datei auf einem anderen PC mit der gleichen Konfiguration nicht funktioniert.

Ich weiß, dass Windows Activation Mecanism Hardware überwacht, um Änderungen zu erkennen, und dass es kleinere Änderungen an der Hardware tolerieren kann.

Gibt es eine Bibliothek, die mir dabei helfen kann?

Meine andere Option ist, WMI zu verwenden, um Hardware-Konfiguration zu erhalten und meinen eigenen Toleranzmechanismus zu programmieren.

Vielen Dank,

Nicolas

Antwort

2

Wenn Sie die Verwendung von Daten auf einen bestimmten PC einschränken wollen, werden Sie diese Texte selbst implementieren, oder eine Drittanbieter-Lösung finden, die dies tun können . Es gibt keine allgemeinen Windows-APIs, die diese Funktionalität bieten.

1

Sie müssen definieren, was Sie derzeit eine "Maschine" nennen.

Wenn ich die CPU, den Speicher und die Festplatte ersetze, ist es immer noch der gleiche Computer? Netzwerkadapter, Videokarte?

Was definiert eine Maschine?

Es gibt viele, viele Lizenzbibliotheken da draußen, die das für Sie tun, aber fast alle sind für Bezahlung (weil Sie angeblich nur kommerzielle Software auf diese Weise schützen wollen). Sehen Sie, was RSA, Verisign und sogar Microsoft bieten können. Die Windows-API stellt dies nicht offen, angeblich um Hacking zu verhindern.

Alternativ do it yourself. Es ist nicht schwer zu tun, der schwierige Teil ist zu definieren, was Sie glauben, eine Maschine zu sein.

Wenn Sie sich entscheiden, 5 Dinge zu verfolgen (HD, Netzwerkkarte, Grafikkarte, Motherboard, Memory Sticks) und Sie drei Änderungen zulassen, bevor Sie eine neue Lizenz benötigen, dann können Benutzer die Festplatte duplizieren, nehmen Sie zwei der oben genannten Legen Sie sie in eine neue Maschine, ersetzen Sie sie durch neue Teile in der alten Maschine und führen Sie Ihr Programm auf den zwei separaten PCs aus.

Also es erfordert einige Überlegungen.

-Adam

+1

Sobald ich die Software auswertete, die unter anderem von der IP-Adresse abhing, und aufhörte, plötzlich zu arbeiten. Da unser Systemadministrator die IP-Änderungen nicht bekannt gegeben hatte (was wir größtenteils nicht richtig wussten oder nicht wussten), und der Verkäufer mir nicht gesagt hatte, worauf die Schlüssel basierten, musste ich graben. –

0

Wenn das Gerät eine Netzwerkkarte hat man immer seine MAC-Adresse überprüfen konnte. Dies sollte eindeutig sein und die Überprüfung als Teil der Startroutine des Programms sollte garantieren, dass es immer nur auf einer Maschine gleichzeitig funktioniert ... selbst wenn Sie die Netzwerkkarte entfernen und eine andere Maschine einsetzen, wird sie dann nur noch funktionieren Maschine. Dies verhindert jedoch Upgrades der Netzwerkkarte.

+1

MAC-Adressen sind leider oft vom Benutzer veränderbar. Nicht leicht zu modifizieren, aber dennoch modifizierbar. –

0

Vielleicht könnten Sie einfach etwas in der Registrierung behalten? Wie der Zeitstempel der letzten Änderung für diese Datei - wenn es keinen Eintrag in der Registrierung gibt oder die Zeitstempel nicht übereinstimmen, dann auf die Standardwerte zurückgreifen - würde das funktionieren?(Es gibt mehr als eine Möglichkeit, eine Katze zu häuten;))

Verwandte Themen