Let's say you had a typical multi-user database-backed MS-DOS application, that for intractable business reasons had to be supported in a multi-user production environment today. What would your virtualization stack look like?<p>Here are a couple approaches I've experimented with, along with their downsides.<p>- Running a Windows Server 2k3 VM, along with TameDOS and a SSH server. VM NAT'ed to the VM host, SSH port is forwarded and the DOS application is used as the shell. Obviously using old Windows versions in any kind of business critical application is asking for trouble. Also, it appears impossible to spin up a new Server 2k3 installation as the licensing servers are shut off.<p>- Using a DOS emulator such as DOSBOX-X on each client machine, with the application files on a shared file server. Deployment is more complex than an SSH client, which can cause issues with nontechnical users. Not sure if issues will arise from multiple emulator instances accessing DB files simultaneously.<p>- FreeDOS VM. Multiuser access to the VM seems to be the issue here. Without a native SSH server and multiuser support, it would have to be something like spinning up a new VM for each user session. Again, not sure if multiple VMs mounting/accessing db files simultaneously will cause issues.<p>Any advice from folks with opinions about the intersection of modern virtualization and ancient DOS applications would be appreciated.