IsGenuineEx() failed if changed HDD

Hello,

our customer changed HDD (according to him) and restore backup with Windows 7 with our product (that was installed and activated on the old HW).Now the function IsGenuineEx() returns only 'TA_FAIL' error. What it does exactly mean in this scenario?I tried this situation in my VM (changing HDD and restoring Windows with installed application), but I have no problem, and application was activated.

I found in the API file that error flag 'TA_E_REACTIVATE' has As of TurboActivate 3.3 this is no longer used.

Will function Deactivate() help with this?

Now the function IsGenuineEx() returns only 'TA_FAIL' error. What it does exactly mean in this scenario?

It means they're not activated or they couldn't re-verify with the servers. Use IsActivated() to see which case it is.

My guess is they also changed more than their hard drive. Also, make sure you're using the latest version of TurboActivate (currently 3.4.6).

I found in the API file that error flag 'TA_E_REACTIVATE' has As of TurboActivate 3.3 this is no longer used.

Right, because IsGenuine() and IsGenuineEx() both automatically re-activate behind the scenes (rather than requiring an extra step from you to call Activate() again).

Will function Deactivate() help with this?

No, not at all.

Thanks for answer!

We are now trying the latest version. I do not know, what to expect (maybe different return value).

What should we do, if product is activated and can't verify with the servers?How should application behave in such case? (Not activated is clear - it needs manual reactivation).

Thanks for help

How should application behave in such case?

Show a prompt to the user with a button that say "Recheck immediately" and a "Cancel" button that just exits your app.

Thanks, but I do not understand.

What should "Recheck immediately" do? I thought IsGenuineEx() is checking activation.Which another function is used for this?What is than difference between "IsGenuineEx() and Activate(), if IsGenuineEx is reactivating (aka calling Activate() function)?

What should "Recheck immediately" do? I thought IsGenuineEx() is checking activation.

It is locally. And then remotely on a set interval that you set (nDaysBetweenChecks).

To re-check immediately call IsGenuine(). (You should not call this every run of your application -- just in a prompt for the customer when the customer actually clicks a button)

Thank you very much, this helped us!If IsGenuineEx() failed, than it is checking whether IsActivated() and than prompts user to check immediately with IsGenuine().

Customer now can user also older build of our product (without this handling), which means, only this handling was needed to get rid of failed IsGenuineEx() method.