Deactivate done on Mac, but not on server

Hello,

I'm using the following code to deactivate (online) my product on the customer Mac :

HRESULT hr = Deactivate('1'); if( hr == TA_OK ) { // display OK message } else { // display error message }

But in rare case, it's deactivating the product only on the Mac, not on the server. Is there a special issue to be covered ?

Thank you. Philippe

Hey Philippe,

My guess is that either (a) that computer was already deactivated online and your app never reverified with the servers using IsGenuineEx, or (b) that computer changed such that is no longer matches the fingerprint on the servers (and again, your app never reverified with the servers using IsGenuineEx()

Hello Wyatt,

For now, IsGenuineEx() is called only if IsActivated() returns TA_OK. I know IsGenuineEx() can replace IsActivated() as well, but my product was build before IsGenuineEx() was introduced, and we don't wanna change the protection system for now (unless we don't have the choice).

Here is the scenario of our problem :- an user activated a machine, and everything is all right- then he decided to deactivate this machine (no hardware/fingerprint change)- Deactivate('1') is invoked and returns TA_OK- the user try to activate a new machine, but the LimeLM servers replies that no more activation is available- the user contacts me- I'm checking on my LimeLM account : the computer hasn't been deactivated on your servers

I'm wondering why my product isn't sometimes deactivated on your server, if Deactivate('1') returns TA_OK ?

Best. Philippe

What version of TurboActivate are you using? The current version is 3.4.6.

Hello Wyatt,

Our product currently uses version 3.4.3.We could update to version 3.4.6 (since it has been released for long now), but we didn't see such a fix in the changelogs for 3.4.4 or 3.4.6.Is there such a fix ?

Best. Philippe

We did a lot of work to the deactivation code making it tighter and cleaner, so you should try the new version first.

OK, we'll do that. Time will tell.