Is there a way that I can start the Win32 environment or run Win32 programs from DOS without starting the Windows GUI?

I'm using a Windows 98 PC that is booted into DOS mode from a floppy disk.

EDIT:

I want to run command line programs. Some of these are Digital Mars C and .NET Framework.


Solution 1:

No Microsoft-supported way to do it

Windows GUI cannot be separated from the kernel and runtime libraries that support Win32 programs (in Windows 98).

You can get Windows without the GUI only using Server Core install mode in Windows Server 2008.

3rd party Win32 emulation for DOS

There is a software that emulates Win32 API and allows Windows console programs to be run under DOS. For example, HX DOS Extender homepage says:

HX DOS-Extender is a free DOS extender with built-in Win32 PE file format support. Usually the purpose of a DOS extender is to make protected-mode features available for DOS applications. HX fully supports this goal, but goes some steps further. A Win32 API emulation layer is part of HX which allows many Win32 console applications to run in DOS.

Digital Mars C++ is specifically supported by HX DOS Extender, however .NET is integrated deeply into Windows. I doubt you'll be able to run .NET software on an emulator.

Warning, possible malware in HX DOS Extender download!

Apparently there is something fishy with downloads available on HX DOS Extender web site. Virustotal report looks really suspicious to me, most antiviruses report some kind of malware inside.

Solution 2:

It depends on the Win32 program. Clearly, GUI programs cannot run for obvious reasons. Console applications on the other hand may be able to run.


In 1998 Chris Jones wrote a DOS program called WinEM (previously DOSCon) which attempts to emulate the Win32 API so that Windows console programs can be run under DOS. According to the manual, he had apparently intended to support GUI programs and even Direct-X games but had, as of version 1.00, implemented only basic DX and windowing functions (ie, only enough for “'hello, world'-in-a-window”).

I cannot find any newer versions, so I suspect that it turned out to be more difficult than he hoped and so he abandoned the project. Also, because the program was written during the time of Windows 98, it may (probably?) does not support later versions of Windows (2000+).