Using terminal services/remote desktop clients is the easiest way to do this and if your app is multi-user it should just work without too much fanfare. Users log on to the server under different accounts and each runs the application separately under a separate Windows instance (similar to multiple logons on client OSs) .
You just need individual logons for each of the users using the application.
The biggest issue with this approach is licensing as each user requires a license and the licensing terms are both expensive and difficult to figure out.
VMs don't really help you in this scenario - you wouldn't want to have many VMs and trying to keep them in sync.
+++ Rick ---
>We have a desktop vertical app that a number of clients are now asking us to "host" so that they have no server requirements, systems will be multi user.
>
>We don't want to re-write the application to be Browser based and are using VFP tables so linking to a cloud based server from a client app is not really a solution.
>
>So my thoughts are to purchase a Dedicated Hosted server and configuring for multi client access.
>
>My question is should we just setup different users as terminal services "users" each with own desktop, or should we configure Virtual Servers on our server one for each client?
>
>Any feedback on best practice and your experiences greatly appreciated.
>
>Regards
>
>Gary.