EVirtualMachineExceptionSolved

Hi

I am using TurboActivate V4.0.2.0 with Delphi XE2 on Windows 10 Pro (Anniversary Update). When I run the Text Editor demo project I get an EVirtualMachineException stating that "The function failed because the instance of your program is running inside a virtual machine or hypervisor...", even though I am not running the program in a virtual machine. Hyper-V is enabled on my machine, but I'm running the program on the host - not in a virtual machine.

Note: Turning Hyper-V off in Windows Features solves the problem (as a temporary work-around), but is obviously not a solution.

Hyper-V is a virtual machine. Even when you're in a "host" you're still running under the virtual machine. It's a "Ring -1" VM, meaning everything, including the "host" run under the virtual machine.

There are a few solutions:

1. Disable Hyper-V, and thus no longer be under a VM.

2. Enable VM activations for that product key.

or

3. Leave the "disabled VM activations" as is, and for customers running on a VM, have them use TurboFloat: https://wyday.com/limelm/help/using-turbofloat/

See more about that here: https://wyday.com/limelm/help/vm-hypervisor-licensing/

Hi Wyatt

I didn't realize that even the host / root partition runs as a virtual machine if Hyper-V is enabled. That explains it then.

That then means that a license for which VM activations is not enabled will always be invalid on any machine where Hyper-V is enabled, regardless of whether the licensed program is running in the root partition (on the host OS) or in one of the child partitions (on a guest OS). As you said, that can be circumvented by disabling Hyper-V on that machine, or if that is not an option, allowing VM activations for that particular product key. Any chance of having an option to allow VM activations in Hyper-V's root partition only, but not in any guest partitions?

Thanks

>> "Any chance of having an option to allow VM activations in Hyper-V's root partition only, but not in any guest partitions?"

No, there's not current a way to differentiate "root/parent partition VM" from the "children" or "guest" partitions. They're all running under the VM.