We cover this in TurboActivate.h:
/* MessageId: TA_E_EXPIRED Message code (in Hex): 0xD Message code (in Decimal): 13
MessageText:
The activation has expired or the system time has been tampered with. Ensure your time, timezone, and date settings are correct.
If you know for sure the offline activation (or offline verified trial) has not expired, then the problem is fraudulent date/time/timezone. To fix the problem do the following in order, don't skip a step:
1. Fix the timezone on the device. 2. Fix the date on the device. 3. Fix the time on the device. 4. Restart the device.
Step 1 is critical. As is step 4.*/#define TA_E_EXPIRED ((HRESULT)0x0000000DL)
They need to do step 1 through 4. Each step is important. And pausing/resuming a VM will trip TA's fraud detection (because it's not "real computer" behavior).
The real solution is to disallow customers to use your app in VM (well, use TA in a VM, use TurboFloat). See: https://wyday.com/limelm/help/vm-hypervisor-licensing/