Otvdm/winevdm: run old Windows software in 64-bit Windows


A method for running 16-bit Windows programs in 64-bit Windows

Applications written for Windows 1.x, 2.x, or 3.x, and some programs written for Windows 95 or Windows 98 or Windows Me, cannot run in 64-bit Windows because 64-bit Windows has no support for 16-bit applications.

A programmer who calls himself or herself otya128 has adapted the Wine ("Wine is Not an Emulator") software into a system called winevdm (also otvdm) so that old Windows programs (including installation programs) can run in 64-bit Windows as if they were ordinary modern Windows programs. With this system installed, you can simply double-click on these old Windows programs and launch them in the same way that you launch modern Windows programs. Under this system, these old programs can open files in the same way that modern Windows applications do, and many (but not all) applications that were designed to send data to a printer can print to any Windows printer.

Don't be clueless! Clueless Visitor No. 4 was disappointed when he installed this system in 64-bit Windows and tried to run an application written for DOS, not Windows, only to be confronted by error messages. He later reported that, having read the sentence on this page that begins with the words "Applications written for Windows", he did not understand that the subject of the sentence as the phrase actually used in that sentence, applications written for Windows, not applications written for DOS. Only later, he said, he finally "understood the implication" that this page is about Windows programs, not about DOS programs. This is not an "implication." It is the actual meaning of the words "Applications written for Windows". It is what those words actually say. Please do not follow the example of Clueless Visitor No. 4 by searching for implications, instead of simply and straightforwardly reading what the words on this page actually say. (One of a series of "Don't be clueless!" messages provided by this site as a public service.)

The winevdm system is maintained on this Github page. The latest build may be downloaded from this appveyor page, by following these links on the page: click "Jobs", then "Environment: THIS_BUILD_IS_RECOMMENDED [etc.]", then "Artifacts" (at the right, above the blue screen image), then download the zip file named "otvdm-master-###.zip". Install the program by right-clicking on the install.inf file in the downloaded archive and choosing "Install."

Alternatively, you can download an Inno Setup installer that I created for a recent version of otvdm, and which I intend to update regularly as new releases appear. It offers to install the system into a folder named OTVDM in the root of your system drive (typically C:), but you can select or create any other folder that you may prefer. After installing the system, you can update it with the latest release of the system by downloading the new release from the appveyor page linked above and copying its contents into OTVDM folder, overwriting the existing files. But keep this in mind when installing or reinstalling: If you have already installed otvdm/winevdm using this or any other installation method, this installer will prompt you before it overwrites your otvdm.ini and otvdm\windows\system.ini and otvdm\windows\win.ini files. If you let the installer overwrite these files, you may need to install your 16-bit Windows applications again. Back up your otvdm system before reinstalling!

Important note: The installer described above differs in two ways from a standard installation of otvdm/winevdm. First, it adds to the otvdm folder a program named FileOpen.exe that acts like the Windows start command (it runs applications or opens files); and, second, it changes the last line of otvdm.ini so that FileOpen.exe, not otvdm itself, is used to open or run applications that are started from 16-bit applications. If this causes problems, edit C:\otvdm\otvdm.ini and comment out or remove the last line.

Another important note: The installer also offers to make a copy of FileOpen.exe that will be named Command.com. This change makes it possible for some applications to "go to DOS" or perform DOS commands. It is not necessary to specify this "Command.com" in otvdm.ini for it to work correctly.

Don't be clueless! Clueless Visitor No. 4 (yes, the same one), having misunderstood not only this page but also the GitHub page about this system, went to the trouble of opening a command prompt and typing in a command in order to run the application that he wanted to run (which didn't run). This extra step was unneccessary. Simply double-click on the application that you want to run, and it will open in the ordinary way. Please do not follow the example of Clueless Visitor No. 4! (One of a series of "Don't be clueless!" messages provided by this site as a public service.)

Alternatively, if you want to run a full Windows 3.1x environment, you can use my Win31DOSBox system, but you probably do not need it.


Printing from 16-bit programs

Many applications will print to the same printers that you have installed in 64-bit Windows. The following notes may be useful in special situations.

WordPerfect 5.x for Windows. Do not use or install the WordPerfect printer drivers. Use the option to print using Windows printer drivers. You may need to experiment. Some Windows printer drivers will cause errors; some, like the default PCL6 driver for my HP LaserJet, will print correctly.

XyWrite for Windows. See a separate page for advice on using XyWrite for Windows.

If your 16-bit application can't work with current Windows printer drivers, or can't print for any other reason, you can use my PrintFilePrinter program, described on another page.


Edward Mendelson (em thirty-six [at] columbia [dot] edu, but with two initials and two numerals before the [at] sign, not spelled out as shown here).