Help! Disconnected Internet behavior is wrong

Hi There,Strange problem here.

Background:

1. Using the stand-alone TurboActivate program I enter a test key (which includes some user fields)2. I Run my program in the debugger for test purposes. 3. At program start I check IsActivated() and then IsGenuineEx() - both return TA_OK (0)4. My program starts up and gets all the user info from the activated key.5. Change no code but disable the adapter5. Now IsActivated returns TA_FAIL (1) and IsGenuineEx() returns TA_ACTIVATE (3)

THis is weird since IsActivated doesnt connect to the server & IsGenuineEx should return TA_E_INET

If I turn on the internet again and rerun the program it passes fine and continues.

It seems that the storage of the passed activation is not happening correctly (now that I'm writing this out). What could cause that?

Here's my init code but its pretty boiler plate...

bool HasValidKey(){ GENUINE_OPTIONS opts; opts.nLength = sizeof(GENUINE_OPTIONS); opts.nDaysBetweenChecks = 14; // The grace period if TurboActivate couldn't connect to the servers. // after the grace period is over IsGenuinEx() will return TA_FAIL instead of // TA_E_INET or TA_E_INET_DELAYED opts.nGraceDaysOnInetErr = 7; // In this example we won't show an error if the activation opts.flags = TA_SKIP_OFFLINE;

HRESULT hr = IsActivated( pGUIDString ); // test

hr = IsGenuineEx(pGUIDString, &opts);

if (hr == TA_OK || hr == TA_E_FEATURES_CHANGED || hr == TA_E_INET || hr == TA_E_INET_DELAYED) { // your app is activated and genuine if (hr == TA_E_INET || hr == TA_E_INET_DELAYED) { // TODO: show a warning to your user that this time (or recently) // the IsGenuineEx() failed to connect to the LimeLM servers. alert("Unable to contact License Server - continuing under grace period!"); } return true; } return false;}

Thanks (im sure ive made a beginner mistake but any help appreciated)Andy

... I mean the storage of the activation info locally.

Don't disable network adapters. TurboActivate 4.0 (out soon) fixes this interesting user behavior by working around it. But by disabling network adapters using TA 3.0 or lower, you're changing part of the "computer's fingerprint".

To test without internet connection just disconnect from the network (Wifi) or unplug the cable (ethernet).

I thought the fuzzy matching was used to prevent scenarios like this? Does this mean if the user changes their network adapter then TurboActivate will no longer validate them correctly?

TA 3.x couldn't detect network adapters that are disabled. Because there's literally no power flowing to them. No communication can happen between software and a "powered off" piece of hardware.

In TA 4.x we've improved the algorithm in a number of ways that let's us get information from disabled network adapters, and in cases where it's impossible give the end-user enough information to fix the problem (even temporarily) so TA can get the device meta-data.

Short answer: yes TA has fuzzy-matching. And disabling the network adapter won't show the computer as being different unless you also have other changes happening. And TA 4.x will eliminate the disabled network adapters problem.