Licence Protector 5 offers multiple options how you can handle the license behaviour on virtual machines. Find below some ideas.
The command RunsOnVirtualMachine retrieves the information, if the application is running on a virtual machine or not.
If the applications detects that it runs on a virtual machine, it just stops.
Using a USB flash drive protection ensures, that a clone of the virtual machine would not run as the USB flash drive can be used only on one PC. The USB flash drive protection works only for single user installations.
You can either deliver the USB flash drive with copy protection already activated or the customer can use his own USB flash drive.
To find out, if USB flash drive protection is enabled, use GetCopyProtection. It must be 11.
The regular online check is the 100% solution. If the applications detects that it runs on a virtual machine, enable the regular online check. To activate the functionality with DLL commands, use SetVal, Token LVI=1. For the complete code implementation and configuration settings see chapter Regular Online checks.
If the user would run multiple clones of the virtual machine, the Activation Server 6 would have multiple entries with the same Key / ID within the same timeframe.
Example
If the interval for regular online checks is 30 days, one documented entry on the Activation Server 6 would be expected. If the Activation Server 6 would have 3 entries within 30 days, this would indicate that 2 clones with the same Key / ID are running.
You could then lock the Key / ID. The next online check would lock the complete license on the customer machine.
To prevent, that the evaluation version is installed multiple times just by using the same image (before the evaluation version was installed) you can activate the evaluation version.