Always asking for activation

Hello,

One of my customer (only one !) have activation troubles : he can activate my product correctly, but every time he restart the application, he have to reactivate it.I check on my dashboard, and LimeLM activated this customer long time ago, so I don't think the problem is coming from the server, rather from the machine/MacOS.

Could you help me please ?

Thank you,Philippe

The machine of my customer : MacBook Pro 13-inch: 2.5 GHz Dual core Intel Core i5 2.5 GHz Turbo Boost up to 3.1 GHz Memory 4GB 1600 MHz 500 GB HDD 5400 rpm1 Intel HD Graphics 4000

What version of TurboActivate is installed on this customer's computer? Also, just to be sure, he's not on a "hackintosh" is he?

Hello Wyatt,

No he doesn't run a Hackintosh : his machine is a MacBook Pro 13-inch.I'm using the last version of TurboActivate (v3.2.2).

In brief, here are the instructions I'm using to save the product key :

hr = CheckAndSavePKey(key, TA_USER);if( hr == TA_OK ) Activate();

Thank you,Philippe

Ok, if that's your code then I see where the problem can occur. The pkey is saving correctly, then you're not checking the return code for Activate(). Tell me the return code you're getting for Activate(). In fact, tell me the exact return code for any function that fails.

Hello Wyatt,

Sorry but it was just a simplified version of my code.Of course, I check the return of every TurboActivation command.

So the method Activate() returns TA_OK, and my product can be fully used by my customer.However, when he restarts the application, he has to re-enter the product key to re-activate my product. It doesn't seems to stay.When starting the application, I am calling IsActivated() and IsGenuine().

Thank you,Philippe

When starting the application, I am calling IsActivated() and IsGenuine().

Both? You should only call IsGenuine() every 90 days. What are the return codes?

Hello,

I'm not reproducing the problem on my computers : this customer is the only case having to reactivate the product at every start.I supposed IsActivated() or IsGenuine() is failing at restart, but my customer is in Mexico (I'm in Paris). However, everything is right on LimeLM's dashboard : he activates the product on October, the 5th.

Did you have this issue by the past ?

Thank you,Philippe

Did you have this issue by the past ?

Not really, no. Whenever something like this pops up it's 1 of 3 things:

  1. The app is subtly programmed incorrectly so that it uses TurboActivate functions in the wrong way.
  2. The user's system is corrupt / virus laden / or they have overclocked the system past its usable limits.
  3. The customer has "helper" software installed on the computer that "cleans" files it shouldn't touch.

Send me their product key at wyatt@wyday.com and I'll take a look at the logs to see if I can find any hints on this problem. If I'm not able to then we might have to schedule a remote debug of this problem.

Hello Wyatt,

I don't think I badly used TurboActivate : I've enough customers to say that everything is working very well (except this machine that keeps not working correctly fo course).

I will ask about point 2. and 3. as well as trying on another computer.

And I sent you the product key via email.

Thank you for your help and your time,Philippe

One of my customer (only one !) have activation troubles : he can activate my product correctly, but every time he restart the application, he have to reactivate it.

He's not activating. The last time he activated was on 10/5/2012, and he hasn't activated since. (He did deactivate on 10/28/2012).

So you're app is letting him use the app even though he's not activating. Can you please send me a snippet of how you're accepting product keys and using the activation. Send it to wyatt@wyday.com.

Hello Wyatt,

As written in my email : yes he activated on 10/5/2012 and deactivated him on 10/28/2012 (to see if it changes something).As written in the subject of this thread : Millumin keeps asking him for activation every time he restarts (so he's not using my app as a registrated user).

Anyway, let's pause this thread a moment : I've to dig the problem with my customer. Maybe he has a "cleaning" application that messes everything. Maybe since I deactivated him, things are going back to normal.

Thank you,Philippe

Hello,

OK, I found where the problem comes from.

On a local network without access to the world-wide-web (so no access to LimeLM server), the IsGenuine() function returns TA_FAIL instead of TA_E_INET.In my code, I interpret this as a KO license, so I deactivate my product.

The solution I found so far is : sending a ping to your server, so the app could know if the server is available.Did your server have a static IP address ? So users could not use the "hosts" file to force the ping to fail.

Thank you,Philippe

The solution I found so far is : sending a ping to your server, so the app could know if the server is available.Did your server have a static IP address ? So users could not use the "hosts" file to force the ping to fail.

Don't use static IPs.

On a local network without access to the world-wide-web (so no access to LimeLM server), the IsGenuine() function returns TA_FAIL instead of TA_E_INET.

This will only happen if the end-user blocks wyday.com and delivers their own error page in response. Tell them to add wyday.com to the white-list of whatever internet filtering software they have.

Under normal circumstances, if the internet is down TA_E_INET is returned.

If I use a Wifi hotspot, I can reproduce this problem : I have an internet connection, but it blocked because I need to enter my credentials in the hotspot webpage.In this situation, IsGenuine() function returns TA_FAIL instead of TA_E_INET.(note : some hotspot don't have this problem)

I have 3 customers having this problem. One of them explained me that it occurs when he looses his Wifi connection (too far from the emitter).

I think one solution could be to ping "google.com" to check the connection, before deactivating the product ... Or simply removing this IsGenuine() call.

Thank you for your help.

We'll modify TurboActivate in version 3.3 to return TA_E_INET if garbage is returned (e.g. wifi login screen, filter screens, etc.) instead of a proper response form LimeLM.

Cool, when do you think you'll release this 3.3 version ?

Early January.

Ok.I'll check that in january. In the meantime, I'm pinging your server be fore IsGenuine() call, to prevent from bad deactivation (which is very frustrating for my users).