I'm not sure what the question is. If you look up what the error code "TA_E_ACTIVATE" means in TurboActivate.h, the answer to the question becomes pretty clear:
/* MessageId: TA_E_ACTIVATE Message code (in Hex): 0x3 Message code (in Decimal): 3
MessageText:
The product needs to be activated.*/#define TA_E_ACTIVATE ((HRESULT)0x00000003L)
So, one of the following is true:
- The customer was never activated.
- The customer was activated, but they then deactivated.
- You deactivated or revoked the key and your app reverified with the servers, thus deactivating the customer.
- The customer moved / copied / etc. the activation data to another computer and/or they modified their existing computer so much that TurboActivate sees it as a different computer.
- The customer is running on a VM and the underlying machine has changed (this is a common problem for Amazon instances, or the equivalent for other cloud services -- use TurboFloat to solve this problem.)