|
EJEMPLO 7
Items
En este ejemplo aprenderá a
Esquemas de protección
Diagrama de flujo
Breve práctica con el ejemplo 7a
Ejecutar la aplicación en PC1
Iniciar el periodo trial
Registrar la aplicación en PC1 desde el OLM
Registrar el computador secundario PC2
Renovar la registración primaria en PC1
Renovar la registración secundaria en PC2
Intento de registración secundaria en PC3
Mover licencia primaria desde PC1 a PC3
Mover licencia secundaria desde PC2 a PC4
En este ejemplo aprenderá a:
1. Guardar los datos del usuario (Nombre, Compañía y Email), localmente en su computador y en el OLM en su servidor web.
2. Manejar licencias primarias y secundarias.
3. Mover licencias de un computador a otro.
Esquemas de protección
Este ejemplo implementa los esquemas D, E y F
Esquema D

|
Esquema E

|
Esquema F

|
Igual que en el ejemplo anterior aquí también se utiliza el OLM avanzado.
Y los implementa como se muestra en el siguiente diagrama de flujo:
Diagrama de flujo

|
procedure TForm1.FormCreate(Sender: TObject);
begin
DoRegister(False);
end;
function TForm1.maxrecords(n:integer):string;
begin
case n of
0: result:='50';
1: result:='200';
2: result:='1000';
3: result:='5000';
4: result:='20000';
5: result:='100000';
else result := 'Unlimited';
end;
end;
procedure TForm1.DoRegister(force:boolean);
var F : TRegForm;
begin
F:=TRegForm.Create(nil); //Create the registration Form
try
if force or (keydata.DaysLeft < 15) then F.ShowModal;
finally
FreeAndNil(F);
end;
if (keydata.Status = Registered) then begin
maxrec:=maxrecords(Values2Num(keydata.Values,2));
Button1.Enabled := (IsValueOn(keydata.Values,3,0));
Button2.Enabled := (IsValueOn(keydata.Values,3,1));
Button3.Enabled := (IsValueOn(keydata.Values,3,2));
end else begin
maxrec := '50';
Button1.Enabled := False;
Button2.Enabled := False;
Button3.Enabled := False;
Form1.wait(10);
end;
LRecNo.Caption := maxrec;
end;
|
La versión (7a) es la versión de desarrollo donde se agregaron botones utilitarios para iniciar el periodo trial y para borrar los datos de registración a fin de tener nuevamente la aplicación en estado original.
La versión (7b) es la versión definitiva donde se retiraron los botones utilitarios.
Breve práctica con el ejemplo 7a
Para las prácticas de este ejemplo necesitará cuatro computadores, los llamaremos PC1, PC2, PC3 y PC4.
En PC1 instalaremos la aplicación como primaria con 2 usuarios autorizados.
En PC2 registraremos la aplicación como secundaria ligada a la registración primaria de PC1.
Utilizaremos PC3 para mover la registración primaria de PC1 a PC3.
Utilizaremos PC4 para mover la registración secundaria de PC2 a PC4.
Utilizando PC1, desde el IDE de Delphi Abra el ejemplo 7a (\Examples\7\a)

Abra el Form RegForm, abajo puede verlo.

El diseño es el mismo que el del ejemplo 6 con los siguientes agregados:
1) Una sección para que el usuario pueda ingresar sus datos (Nombre, Compañía y Email).
2) El area de registración ahora se basa en un PageControl con una pestaña para cada una de las posibilidades de registración, abajo puede verlas desplegadas. Anteriormente en la versión 6 solo se utilizaba la opción de registración primaria.

Ejecutar la aplicación en PC1
Presione el botón o F9 para iniciar la ejecución del programa. En unos instantes podrá ver el formulario de registración:

En esta implementación no se inicia el periodo trial en forma automática como se sugería en los ejemplos anteriores porque se quiere dar la oportunidad al usuario de ingresar sus datos personales, para este fin se agregó una pestaña "Trial" con el botón [Start Trial].
Como vimos, aquí tenemos varias alternativas de registración. Lo normal, sería iniciar un periodo trial y después registrarla como primaria, pero podría ser que el usuario ya tenga una instalación primaria en otro computador y desea registrar este como secundario, en ese caso utilizaría la pestaña "Secondary" y también podría ser que está en el proceso de mover la licencia de un computador a otro, en ese caso utilizaría "Move Primary" o "Move Secondary".
Iniciar el periodo trial
Item relacionado: Como iniciar el periodo trial
El periodo trial se inicia con el siguiente código:
res := AVLock.OnlineStartTrial(0,2,1,30,'037');
Los parametros son:
0: Indice de la clave.
2: Usuarios autorizados.
1: Numero de instancias simultaneas autorizadas
30: Días del periodo trial.
'037': Campo "Values".
Iniciemos en PC1 el periodo trial, primero ingresemos Nombre de usuario, compañía y email, luego hagamos click sobre el botón [Start Trial] de la pestaña Trial. Un periodo trial siempre se inicia como una registración primaria de tipo trial.
Veremos el siguiente mensaje informandonos que el periodo trial se ha establecido.
También podrá ver que el estado corriente de registración ha cambiado mostrando el mensaje que puede ver abajo:

Si ahora hace click sobre el botón [Continue >>] pasará al formulario principal de la aplicación donde verá el resultado de la operación realizada, (ahora sin pasar por la pantalla Wait):

El campo values pasado como parámetro '037' determina los botones que se habilitarán y el máximo numero de registros admitidos.
Puede ver que se habilitaron todos los botones ya que (Value3 = 7) y también se estableció en 5000 el numero máximo de registros permitidos (Value2 = 3). Para más detalles vea los ejemplos anteriores 5 y 6.
Con el botón [Show Registration Data] vea los datos de registración:

Y desde el panel de control del OLM vea el registro generado en el servidor web.

Vea en el ejemplo 6 más detalles de como utilizar el panel de control del OLM.
Registrar la aplicación en PC1 desde el OLM
Haciendo click en el icono Edit entremos al panel de edición del registro y seleccionemos "The user paid for a new key (Paid=Y)" y entremos Values=067 y en la ultima linea "Temporary License allowed by 365 days".

Y haga click sobre el botón [Save Record], después haga click en el botón [->Go] y podrá ver los cambios en el registro:

Los campos (Users, Instances, Days y Values) son los valores para crear una nueva clave y el campo (Paid=Y) indica que se debe generar una nueva clave y enviarla al computador correspondiente ante la primer solicitud realizada con un llamado a Synchronize() o OnlineRenew().
Utilizaremos el botón [Synchronize] que hace un llamado al siguiente método:
res := AVLock.Synchronize(0,true);
Vea los cambios realizados en el estado de registración después de ejecutar Synchronize().:

Vemos también con el panel de control la nueva clave generada

que también ha sido guardada en los datos locales

La pantalla principal ahora está mostrando el nuevo numero de registros autorizados

Registrar el computador secundario (PC2)
Copie en una carpeta del computador PC2 el ejecutable project1.exe correspondiente al ejemplo 7a.
Ejecute la aplicación y verá que esta se inicia en estado no registrado.

Ingrese nombre de usuario , compañía y email. Seguidamente seleccione la pestaña "Secondary" e introduzca el InstallCode de la registración primaria (PC1) y haga click en el botón [Register]. En instantes verá el mensaje siguiente:

Al cerrar este mensaje veremos los cambios realizados en el formulario de registración.

La aplicación quedó registrada como secundaria. Veamos ahora el formulario principal de la aplicación haciendo click en [Continue>>].:

Como podemos ver que es exactamente igual al del computador PC1.
Veamos ahora lo que ha pasado en el servidor web ingresando con el panel de control:

Podemos ver el nuevo registro secundario (color gris). Tenga en cuenta que (PR = N) define el registro como secundario. El Installcode proviene de PC2 y el Installcode primario proviene de PC1.
Renovar la registración primaria en PC1
Item relacionado: Como registrar la aplicación utilizando claves
Supongamos que el usuario decidió adquirir una licencia definitiva y Ud. le envía una clave de registración permanente generada con KeyGen para que registre la aplicación. También se puede registrar directamente desde el OLM, pero en este caso probaremos como hacerlo con una clave.
Abramos la utilidad KeyGen e ingresemos los datos como se muestra abajo:

Después copiamos la clave de registración y la pegamos en el formulario de registración:

Al hacer click sobre [Register] obtenemos el siguiente mensaje:

La clave ha sido registrada y ahora el formulario de registración mostrará el nuevo estado de registración:

Veamos lo que ha pasado en los registros del OLM:

Vemos que ambos registros ahora tienen la misma clave de registración.
Renovar la registración secundaria en PC2
Si ahora ejecutamos la aplicación en PC2 veremos en el siguiente estado en el formulario de registración:

Aunque en el OLM tenemos la nueva clave para el registro secundario vemos que la aplicación aún está en su estado anterior de registración. Sucede que el método que obtiene el estado de registración GetKeyData() obtiene la información solo desde los datos locales. Lo que haría falta ahora es sincronizar los datos locales con los del OLM, para ello hagamos click sobre el botón [Synshronize] y veremos el resuiltado en la imagen de abajo:

Intento de registración secundaria en PC3
Ahora copiemos el ejecutable project1.exe en una carpeta del computador PC3. Intentaremos hacer una registración secundaria más en PC3 de la misma forma en que lo hicimos en PC2. Hemos autorizado solo 2 usuarios, por lo tanto este intento no debería funcionar porque ya tenemos registrados los dos usuarios, uno priomario y otro secundario. Igualmente hagamos la prueba para ver lo que ocurre.

Vemos que no es posible.
Mover la registración primaria desde PC1 a PC3
Paso 1: Desactivar la licencia en PC1.
Suponiendo que el usuario de PC1 desea utilizar un nuevo computador primario, este puede trasladar la licencia desde su viejo computador (PC1) al nuevo (PC3). Para lograrlo debe realizar dos pasos:
El primer paso en PC1. Hacemos click en el botón [Deactivate] de la pestaña "Move Primary" y recibimos el mensaje de operación realizada.

Cerramos el cuadro de mensaje y vemos que ahora el botón [Deactivate] ha cambiado su leyenda por [Restore]. El botón [Restore] es para volver atras con la operación a la situación anterior, es para el caso de haber hecho clic en [Deactivate] por error.

Ahora ya está desactivada la licencia en el computador PC1. Si hacemos click en [Continue>>] tendremos que pasar por la conocida cuenta regresiva.
Paso 2: Activar la licencia en PC3.
Ejecutemos la aplicación en PC3, en la pestaña "Move Primary" ingresemos el installcode de PC1 y hagamos click en el botón [Reactivate]. Abajo puede ver el resultado.

Cerrando el cuadro de mensaje veremos los cambios hechos:

Ahora ya tenemos registrado PC3 como computador primario.
Pruebe con PC2 y vea que esta funcionando como secundario igual que antes.
Mover la registración secundaria desde PC2 a PC4
Paso 1: Desactivar la licencia secundaria en PC2.
Suponiendo que el usuario de PC2 desea utilizar un nuevo computador, este puede trasladar la licencia desde su viejo computador (PC2) al nuevo (PC4). Para lograrlo debe realizar dos pasos:
El primer paso en PC2. Hacemos click en el botón [Deactivate] de la pestaña "Move Secondary" y recibimos el mensaje de operación realizada.

Vemos también que el estado de registración ha cambiado:

El botón [Deactivate] ahora cambia a [Restore] por si fuera necesario anular la operación.
Paso 2: Activar la licencia secundaria en PC4.
Ejecutemos la aplicación en PC4, en la pestaña "Move Secondary" ingresemos el installcode de PC2 y hagamos click en el botón [Reactivate]. Abajo puede ver el resultado.

Cerrando el cuadro de mensaje vemos el cambio en el estado de registración:

La licencia secundaria ha sido movida desde el computador PC2 al PC4.
|