Function IsGenuine - ReActivation

Using VB.net example code from the API, I am trying to test the IsGenuine function.

My understanding is that once the daysBetweenChecks variable and the graceDaysOnInetErr have expired, the IsGenuine Function will return NotGenuine. For some reason, with the internet connectivity off, I cannot ever get the IsGenuine Fucntion to return InternetError.

Also, once the application returns "NotGenuine" and the user needs to reactivate, the reactivation process completes without needing an internet connection.

What piece am I missing. I want to lock the UI out when the daysBetweenChecks and graceDaysOnInetErr have expired and require the user to reactivate checking with the Lime Servers. Always requiring a check with the lime server.

Thanks

Everything works here. Don't roll your clock forward or backward. To test the behavior set the daysBetweenChecks to 1 and the grace period to 0.

When I trigger the expired TurboActivate.Isgenuine check, turboactivate run automatically according to the example code,

Dim TAProcess As New Process TAProcess.StartInfo.FileName = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "TurboActivate.exe") TAProcess.EnableRaisingEvents = True

AddHandler TAProcess.Exited, New EventHandler(AddressOf p_Exited) TAProcess.Start()

The problem is that the turboactivate activation procedure proceeds through the entire process without asking for an activation key. Turboactivate app comes up and just says immediately, Activation successful. Never asked for an activation key. All this was done with the machine internet physically disconnected.

So how did it activate without an internet connection when the IsGenuine period was expired.

Oh, OK I see what you're doing. We'll have to update the example code to make this clear. If IsGenuineEx() fails you'll have to do another check before showing the TurboActivated wizard. Namely, you'll call IsActivated() to see if the computer is still locally activated.

So if IsGenuineEx() return NotGenuine and IsActivated returns true, then that means you have to show the user another dialog that allows the user to verify the activation with the LimeLM servers. In that dialog you'd have a button or something to call IsGenuine().

Does that make sense?

I am still having trouble wrapping my head around all of the possible paths and how to check. I need to make sure that once the "daysBetweenChecks" expires, the user is forced to check online with servers. Trying to avoid the possibility that a user could just keep the machine offline to avoid any license changes on the lime server.

I still cannot get the "IsGenuineResult" to return an Internet error when my test machine is offline.

Something like this? Can you make any sugestions?

Dim gr As IsGenuineResult = TurboActivate.IsGenuine(1, 0, True)

If gr = IsGenuineResult.Genuine Then 'Turn UI On Else If TurboActivate.IsActivated() = True Then gr = TurboActivate.IsGenuine() If gr = IsGenuineResult.Genuine Then 'Turn UI on ElseIf gr = IsGenuineResult.InternetError Then 'Message stating Activation Check Required with Online Servers. 'Please make sure your machine has internet connectivity. ElseIf (Not gr) Then 'General Catch for Activation error. End If Else 'Call Turboactivate.exe for first time activateion End If End If

I think I have all the different paths figured out now.Thanks for the help.

Great, I'm glad you figured it out. If you have any other questions we'll be glad to help.