If you have the correct licensing then you can run TestExecute on your virtual machine/s.
This is a perfectly normal way to run and distribute automated tests. For GUI testing on Windows you need to ensure a couple of things on your virtual machine.
1. The desktop is not configured in Windows settings to lock after a period of time.
2. A connection, be it RDP or other remote connection protocol needs to be kept open to the machine. Otherwise Windows will not render a desktop and you cannot run GUI tests. This is common to all GUI testing in Windows and not just TC. A popular method to do this is to run a tool like VNC server (or equivalent) on your testing machine. Configure the software to keep the connection open after you disconnect. This tricks the testing machine into thinking a monitor is attached.
Note, there is also documentation in the SmartBear docs about how to keep a desktop connection open to your testing machine. IMO, this isn't a practical approach and takes as much if not longer time than setting up a tool like VNC server.
http://support.smartbear.com/viewarticle/56549/If you are lucky enough to be running an enterprise version of VMware you can probably just connect through a console session to the machine using the VMware tools and no other software is required.