primeramente no existe un script definido para lo que necesitas , a menos que tu te ingenies y crees una rutina que verifique los días entre la fecha de instalacion y la fecha actual, ver la diferencia entre las dos y si es menor de 30 se ejecuta caso contrato se deshabilita.
yo hice algo parecido que a continuación te explico.
al ejecutar la aplicación verifica si está registrada o no.
comparación entre una "id de hardware" - A - y una "id registrada por el usuario" - B - si son iguales se ejecuta directamente (el usuario me compró el software y yo le entregué una clave de registro)
veamos si son difertes.
en mi caso la prueba solo es de 15 dias.
el sistema verifica si existe un archivo de configuración (obvio en una ruta poco accesible para un usuario normal )
si no existe quiere decir que es la primera vez que se ejecuta la aplicación en la pc y crea el archivo seteando lo siguientes datos .
fecha de inicio = fecha actual
fecha final = fecha de inicio + 15 dias
fecha siguiente = fecha actual + 1 dia
por ser primera vez me retorna true. y estos datos seteados para mostrarle en una ventana, además muestro 2 opciones
continuar y registrar.
continuar = ( muestro el mdi )va a estar enabled true o false segun el retorno de la funcion
registrar = opción que llama a otra ventana donde el usuario va a introducir una ID de registro - B - proporcionada. (si me compró el software )
ademas otros detalles por ejemplo una barra de progreso que me indica el numero de dias ejecutados del total de dias de prueba.
entonces cada vez que se ejecuta el sistema obtiene del archivo.
fecha de inicio
fecha siguiente
fecha final = fecha inicio + 15 dias
si la fecha actual (today()) >= fecha final
el siguiente dia = fecha final
seteo una variable clave de registro en 'N' (desabilitado)
retorna false. (deshabilitado )
// si la fecha actual es igual al siguiente dia de utilizacion
si today = fecha siguiente
//incremente el dia en 1
fecha siguiente = fecha siguiente + 1 dia
//esto se va guardando en el archivo ini oculto
// si la fecha actual es diferente dia siguiente - 1 (verificar si se a cambiado la fecha del sistema)
si today <> relativedate(fecha siguiente , -1)
if today() <> fecha siguiente
sistema caducado
retorna false
el manejo de las tres fechas me permite controlar una vez caducado el sistema el usuario por mas que cambie la fecha del sistema no puede utilizarlo mas.
o estando activa la aplicacion, el usuario cambia la fecha actual a una fecha que supera la fecha final o menor que la fecha de inicio simplemente el sistema se deshabilita.
[email protected]