16 bit windows under Win64 using Wine?

I wonder if anyone has tried the following approach to run a 16-bit application under Win64?

I can install a VMware virtual machine, load Linux, and use Wine to simulate the old Windows environment. I don't see why that won't work but I find no information from previous questions about 16-bit Windows on Win64.


64-bit Windows does not include WOW - but according to Wikipedia, 64-bit Wine does!

Source: http://en.wikipedia.org/wiki/Wine_(software)#Backward_compatibility

http://en.wikipedia.org/wiki/File:Wineon64bit.png

Backward compatibility in Wine is superior to that of Windows, as newer versions of Windows can force users to upgrade legacy Windows applications. In many cases, Wine can offer better legacy support than newer versions of Windows with "Compatibility Mode". As illustrated by screenshot on the left, Wine can run 16-bit Windows programs on a 64-bit operating system, which uses an x86-64 (64-bit) CPU. 64-bit versions of Microsoft Windows cannot run 16-bit Windows programs

Source: http://en.wikipedia.org/wiki/Windows_on_Windows

The Win16 subsystem is available in 32-bit editions of Windows NT, 2000, XP, Server 2003, Vista, Server 2008, 7, and 8. The 64-bit editions of Windows versions that have them, however, do not include the WoW Win16-support subsystem and therefore cannot run Win16 applications, nor do they provide the NTVDM emulator. DOS and 16-bit Windows applications, therefore cannot run in 64-bit versions of Windows without third-party emulation software (e.g. DOSBox) or a virtual machine with either a 32-bit version of Windows, Windows XP Mode, or DOS itself.

If you can, run two VMs - one with 32-bit Windows, one with 64-bit Windows, assuming you specifically need 64-bit Windows for something.


This is now possible with winevdm: https://github.com/otya128/winevdm. To run 16 bit applications on a 64 bit Windows, a x86 CPU has to be emulated because the Local Descriptor Table (LDT) cannot be changed on Windows x64 (which is neessary to run 16 bit code). The linked project on GitHub includes all the necessary changes to Wine and the x86 emulator. I have tested it and it seem to work very good.

To install the latest version, go to https://ci.appveyor.com/project/otya128/winevdm, select "Environment: THIS_BUILD_IS_RECOMMENDED__VCXPROJ_BUILD=1", then "Artifacts". Unpack the zip archive and run "install" to add the registry keys so 16 bit executable are opened with otvdm.