Virtual Machines
Licence Protector offers multiple options how you can handle the license behaviour on virtual machines. Find below some ideas.
Detect a virtual machine
The command RunsOnVirtualMachine retrieves the information, if the application is running on a virtual machine or not.
Ideas to handle virtual machines
Don't allow to start the application
If the applications detects that it runs on a virtual machine, it just stops.
Require USB-Stick for virtual machine
Using a USB-Stick protection ensures, that a clone of the virtual machine would not run as the USB-Stick can be used only on one PC. The USB-Stick protection works only for single user installations.
You can either deliver the USB-stick with copy protection already activated or the customer can use his own USB-Stick.
To find out, if USB-Stick protection is enabled, use GetCopyProtection. It must be 11.
Regular online checks
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 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 would be expected. If the Activation Server 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.
Evaluation Version
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.