Cree una aplicación que caducará después de un período de prueba

C # 2008 SP1

Estoy escribiendo una aplicación que quiero dar a un número selecto de clientes.

¿Cuál es la mejor solución para usar de modo que después del período de prueba (1 mes) la aplicación ya no funcione?

Estaba pensando que si están interesados ​​en comprar el software, les daré una clave de licencia o algo así para desbloquear la aplicación.

Tengo un presupuesto muy limitado ya que estoy trabajando por mi cuenta. Entonces, ¿hay algún producto gratuito de terceros que haga esto?

Si opta por un enfoque basado en la fecha, se puede eludir si el usuario establece su fecha de regreso (aunque dudo que la gente haga esto muy a menudo). Una alternativa es permitir que la aplicación se inicie un cierto número de veces antes de caducar; este enfoque obviamente ignora cualquier cambio de fecha.

Mi método preferido es desactivar partes de la aplicación que son críticas para el uso normal del progtwig pero que no son críticas para su evaluación (como la capacidad de guardar su trabajo, por ejemplo). Lo hago con mi propio software y luego les envío un código de deslocking único para su computadora cuando compran el progtwig completo. Una ventaja principal de este enfoque es que la demostración instalada funciona como una herramienta de ventas potencial para siempre . Prefiero que mi progtwig siempre funcione hasta cierto punto; No creo que el mensaje “Lo siento, este progtwig haya expirado” genere muchas ventas.

Sus opciones:

  1. En la instalación, escriba algo en el registro, de modo que sea difícil de encontrar y eliminar más adelante. De esta forma, su aplicación sabrá cuándo se instaló originalmente y si todavía debería funcionar o detenerse. Este método fallará si el registro se limpia bien o si se reinstala el sistema operativo.

  2. Use algún tipo de servicio de validación en línea. Estará libre de las desventajas de [1]. También le permitirá controlar la actividad de la aplicación que trasciende la instalación del sistema operativo. Para que eso funcione, de alguna manera deberá identificar de forma única a la PC de un usuario y transmitir su firma a su servidor.

Aquí está el truco que hice para evitar que los usuarios jueguen con la configuración de fecha / hora y volver a salir con el reloj.

Cuando la aplicación se ejecuta por primera vez, encripte la fecha de la primera ejecución y la fecha de prueba final y la última fecha de ejecución en el registro. Y descifre y compruebe la fecha de prueba final y no la fecha del sistema desde allí cada vez que se ejecuta la aplicación. Esta solución funciona para usuarios sin conectividad a Internet.

Escriba una clave de registro durante su instalación. La clave contendrá la fecha de la instalación. La fecha en la clave de registro debe ser encriptada.

Cuando se inicia su aplicación, verifique la existencia de esta clave de registro. Si no existe, cierre la aplicación, de lo contrario, descifre la fecha, verifique el período de prueba y cierre la aplicación si la prueba finaliza.

La solución más simple (y, como resultado, la más simple de eludir) es almacenar la fecha en que el progtwig se instala por primera vez (o se ejecuta) en un archivo y luego se compara con la fecha actual cada vez que se inicia el progtwig. Si la diferencia es> 30 días, salga del progtwig.

Al almacenar la fecha en lugares o lugares más oscuros que son más difíciles de manipular para el usuario (como el registro), se vuelve progresivamente más difícil para ellos eludir el sistema y obtener más tiempo para usarlo, pero no los detiene. rebobinar el reloj en su PC.

Si almacena la fecha en su servidor y también obtiene la fecha de su servidor, entonces esto es más seguro, pero significa que el usuario debe tener una conexión de internet abierta para usar su software.