ta.IsGenuine(0, 0, true) returns NotGenuine when there is a working internet connectionSolved

I encountered an odd problem in my testing of the most recent version of TurboActivate on Windows.

ta.IsGenuine(0, 0, true) would return IsGenuineResult.NotGenuine when there was a valid internet connection and the license was activated.

If afterwards I called ta.IsGenuine() without any parameters, it would return IsGenuineResult.Genuine and then subsequent calls to ta.IsGenuine(0, 0, true) would also return IsGenuineResult.Genuine.

Why would the initial call to IsGenuine(0, 0, true) return NotGenuine even though there was a valid internet connection? And why would calling IsGenuine() without parameters fix subsequent calls to IsGenuine(0, 0, true)?

Note that this was done in a VM (my product keys allow VMs), but I have been sometimes connected to a VPN on my host computer and sometimes not connected to the VPN. The VM always seems to think it has an ethernet connection since VMWare creates a virtual network adapter (and the internet connection always works in the VM regardless of whether I am connected to a VPN or not). I'm not sure if this setup may have confused the TurboActivate code somehow into thinking it was a different machine or there was a hardware change.

Don't use 0,0 for parameters. As far as the behavior you're seeing we can't reproduce it.

I noticed that IsGenuine(uint daysBetweenChecks, uint graceDaysOnInetErr, bool skipOffline = false, bool offlineShowInetErr = false) calls TA_IsGenuineEx(), whereas IsGenuine() calls TA_IsGenuine().What does TA_IsGenuine() do differently than TA_IsGenuineEx() other than the daysBetweenChecks and graceDays?

I'll let you know if I can find a way to reproduce the problem.

I try to contact the activation server whenever possible (so pass 0, 0 as parameters) and if there is an internet connection error then I revalidate with a number of days between checks.I beleive the code below does this and will try to check with the activation server whenever possible and only require revalidation if the license server has not been contacted in 14 days. Does this code look correct?

IsGenuineResult gr = ta.IsGenuine(0, 0, true);

if (gr == IsGenuineResult.InternetError){ gr = ta.IsGenuine(14, 0, true);}

I have found a way to reproduce the issue I saw.Enviroment: Win10 VM on VMWare, using C#

1) Activate a license Online2) call ta.IsGenuine(0, 0, true) and it returns IsGenuineResult.Genuine3) disable ethernet adapter3) call ta.IsGenuine(0, 0, true) and it returns IsGenuineResult.NotGenuine (I expect it to return IsGenuineResult.InternetError)4) enable ethernet adapter5) call ta.IsGenuine(0, 0, true) and it still returns IsGenuineResult.NotGenuine6) restart PC (ethernet adapter is enabled on boot)7) call ta.IsGenuine(0, 0, true) and it still returns IsGenuineResult.NotGenuine8) call ta.IsGenuine() without parameters and it returns IsGenuineResult.Genuine9) call ta.IsGenuine(0, 0, true) and it now returns IsGenuineResult.Genuine

sorry slight error in the steps to reproduce. See updated steps below.

1) Activate a license Online2) call ta.IsGenuine(0, 0, true) and it returns IsGenuineResult.Genuine3) disable ethernet adapter4) call ta.IsGenuine(0, 0, true) and it returns IsGenuineResult.InternetError (this is expected)5) call ta.IsGenuine(0, 0, true) again and this time it returns IsGenuineResult.NotGenuine (I expect it to still return IsGenuineResult.InternetError)6) enable ethernet adapter7) call ta.IsGenuine(0, 0, true) and it still returns IsGenuineResult.NotGenuine8) restart PC (ethernet adapter is still enabled on boot)9) call ta.IsGenuine(0, 0, true) and it still returns IsGenuineResult.NotGenuine10) call ta.IsGenuine() without parameters and it returns IsGenuineResult.Genuine11) call ta.IsGenuine(0, 0, true) and it now returns IsGenuineResult.Genuine

Well look into this tomorrow.

Hello Wyatt, any update on this?

We haven't had the time to reproduce what you're seeing, but when we get back from the holiday break we'll take a look at it. I believe your seeing an edge-case that we already fixed in our development (4.1), but we'll actually need to look into it to confirm.

TurboActivate 4.1.3 is now out.