Desarrollé un software comercial, con licenciamiento sistema a sistema. Para fines de licencia, estoy usando varios parámetros como información de la CPU, información del disco duro, BIOS y otras cosas.
El problema es que la licencia sigue venciendo debido a cambios en estas propiedades. Los clientes siguen llamándome diciendo que su licencia no funciona.
Cambié la licencia para usar solo:
- ID del procesador
- Nombre de la CPU
- Número de núcleos de CPU
- Número de CPU de procesadores lógicos
- Arquitectura
¿Alguna de estas propiedades cambia después de una nueva instalación de Windows?
No quiero una validación de la clave de serie del lado del servidor ya que la mayoría de estos sistemas no tienen conexión a Internet.
Respuesta1
Ninguno de los elementos que ha enumerado son en realidad datos únicos. Entonces, si cambian o no después de una nueva instalación de Windows, más o menos, no tiene sentido para sus necesidades reales.
El que tiene más probabilidades de ser único es ProcessorID, pero ni siquiera eso garantiza que sea único:https://stackoverflow.com/questions/1101772/win32-processoris-processorid-unique-for-all-computers
Debido a que esta información no es única, no es apropiada para su uso en la validación de licencias.
Los demás valores son coherentes o pueden depender de la información proporcionada por un controlador (como CPUName).
La raíz del problema es que no ha seleccionado elementos apropiados en los que basar su sistema de licencias.
Respuesta2
Ninguno de estos lo consideraría válido si desea realizar bien las licencias comerciales:
- ID del procesador
- Nombre de la CPU
- Número de núcleos de CPU
- Número de CPU de procesadores lógicos
- Arquitectura
Ninguno es único, pero además todos pueden cambiar.
¿Permite máquinas virtuales de cualquier tipo? Si es así, ¿qué pasa si de repente la máquina necesita 2 procesadores, físicos o lógicos?
¿Qué pasa si ESXi/VmWare/VB cambia el nombre del procesador por accidente o WMI se rompe o se vuelve extraño?
Si las máquinas están fuera de línea, probablemente elegiría una clave para el software, especialmente si genera muchas llamadas de soporte. De lo contrario, podría estar "reparando" licencias y haciendo exactamente lo que su modelo de licencia defectuoso cree que está deteniendo. Doble golpe.