Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium


Win16 Subsystem .. DOSX.EXE ??

Posted on 2003-02-25
Medium Priority
Last Modified: 2011-08-18
My first time here .. hope it`s helpful. (thanks in advance :-)
I have WinXP. Suddenly I cannot open my VersaCheck check printing software. I get this error.
"The Win16 Subsystem was unable to enter Protected Mode.
DOSX.EXE must be in your AUTOEXEC.NT and present in your PATH."

Say, WHAT ?

I`m not so good at computers that I can find a solution to this. Can anyone please offer some help ? In simple terms ? I`d be grateful !

-Mike Comeau
Question by:VideoMike
LVL 44

Accepted Solution

CrazyOne earned 100 total points
ID: 8022292
Take a look at this

Troubleshooting MS-DOS-Based Programs in Windows


The information in this article applies to:

Microsoft Windows XP Home Edition
Microsoft Windows XP Professional
For a Microsoft Windows 2000 version of this article, see Q165214 .

This article describes how to troubleshoot MS-DOS-based programs in Windows.


Test the Ntvdm Subsystem
The first thing to test when you are having problems with MS-DOS-based programs is the Windows Virtual DOS Machine (NTVDM) subsystem. You can use the Command.com utility to test whether the NTVDM subsystem is running properly. To start Command.com, follow these steps:
Click the Start button, and then click Run .

In the Open box, type command.com , and then click OK .

This should start a command prompt window. If this does not work properly, then there is a problem with the NTVDM subsystem, and you should check the following items:
Check the Config.nt and Autoexec.nt files in the SystemRoot%\System32 folder for non-standard settings.

Use a REM statement to remark out all entries except the following default entries:

   dos=high, umb


   lh %SystemRoot%\System32\Mscdexnt.exe
   lh %SystemRoot%\System32\Redir
   lh %SystemRoot%\System32\Dosx
   lh %SystemRoot%\System32\Nw16 (only if CSNW is installed)
   lh %SystemRoot%\System32\Vwipxspx (only if CSNW is installed)
Another way to accomplish this is to expand Autoexec.nt_ and Config.nt_ from the Windows CD-ROM to the %SystemRoot%\System32 folder.

Press CTRL+SHIFT+ESC to start Task Manager, close all running programs that are running, and make sure that there are no other NTVDM processes running.

Prevent all programs from running at startup. Programs can run from three places at startup: the Startup groups, the Run and RunOnce lines in the registry, and the "run=" and "load=" lines in the Win.ini file. You can check these places as follows:

The Startup groups are folders on the local hard disk. They are in the following locations:

%SystemRoot%\Profiles\ user_name \Start menu\Programs

%SystemRoot%\Profiles\Default user\Start menu\Programs

The Run and RunOnce lines are in the registry, under the following registry key:

You can edit the Win.ini file by using Notepad. The Win.ini file is in the %SystemRoot% folder.

Examine the NTVDM system files in the %SystemRoot%\System32 folder. Check the following files and make sure that they are the correct version by checking the size and date:

   Ntvdm.dll (Windows NT 3.1 only)
The registry entries that are associated with the NTVDM subsystem are:

<BLOCKQUOTE> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment
This key stores the environment variables from the Config.sys and Autoexec.bat files for use in Windows.

<BLOCKQUOTE> HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ VirtualDeviceDrivers
This key stores the device drivers that are used in an NTVDM session. Windows Setup creates these entries when a device driver is installed.

Check Program-Specific Issues
The following functions do not work in Windows XP:
All MS-DOS functions except task-switching API (application programming interface) functions are supported.

Block mode device drivers are not supported. Block devices are not supported, so MS-DOS I/O control (IOCTL) APIs that deal with block devices and SETDPB functions are not supported.

Interrupt 10 function 1A returns 0; all other functions are passed to read-only memory (ROM).

Interrupt 13 calls that deal with prohibited disk access are not supported.

Interrupt 18 (ROM BASIC) generates a message that says that ROM BASIC is not supported.

Interrupt 19 does not restart the computer, but cleanly closes the current virtual DOS machine (VDM).

Interrupt 2F, which deals with the DOSKEY program callouts (AX = 4800), is not supported.

Microsoft CD-ROM Extensions (MSCDEX) functions 2, 3, 4, 5, 8, E, and F are not supported.

The 16-bit Windows subsystem on an x86 computer supports enhanced mode programs; it does not, however, support 16-bit virtual device drivers (VxDs). The subsystem on a non-x86 computer emulates the Intel 40486 instruction set, which lets the computer run Enhanced-mode programs, such as Microsoft Visual Basic, on reduced instruction set computers (RISC).

This means that Windows does not support 16-bit programs that require unrestricted access to hardware. If your program requires this, your program will not work in Windows NT, Windows 2000, or Windows XP.

You should next check to see whether the Autoexec.nt and Config.nt file settings are correct. Always try the default settings that are listed earlier in this article. Some programs require special settings or drivers to run in the Config.sys or Autoexec.bat file. If this is the case, there are two options for initializing these files when you starting your program:
Enter these lines in the Config.nt and Autoexec.nt files in the %SystemRoot%\System32 folder.

Create new Config and Autoexec files to be run when starting this program. To do so, follow these steps:

Create the files and save them with the extension .nt in a folder other than %SystemRoot%\System32 (these files are usually saved in the same folder as the program).

Right-click the desktop, point to New , and then click Shortcut .

In the Type the location of the item box, type the full path to the file that you want to run, and then click Next .

In the Type a name for this shortcut box, type the name for the shortcut, and then click Finish . This creates a new shortcut on the desktop.

Right-click the new shortcut, and then click Properties .

On the Program tab, click Windows to open a dialog box for the path to the Autoexec and Config files.

Type the full path to the files that you created, and then click OK in both dialog boxes.

Clicking this icon runs the Autoexec and Config file specified for the program. These settings are subject to the same restrictions as those listed for MS-DOS-based programs.
There are other settings in a program's properties. If your program is not working properly, check all of the tabs and make sure that the program settings are set to the manufacturer's specification. If the program is still not working, contact the vendor of the program to make sure that the program is supported under Windows.

For additional information, click the article numbers below to view the articles in the Microsoft Knowledge Base:
Q171940 MS-DOS Application I/O Operations Cause Floppy Drive Access
Q102418 NTVDM Error: There Is No Disk in the Drive
Q156687 Entries in CONFIG.NT or AUTOEXEC.NT May Cause NTVDM Errors
Q142026 Err: 'Hidden Console of WOW VDM' Running 16-bit or DOS App
The third-party products discussed in this article are manufactured by vendors independent of Microsoft; we make no warranty, implied or otherwise, regarding these products' performance or reliability.
Published Jan 14 2002 12:52PM  Issue Type kbinfo  
Last Modifed Jan 25 2002 12:54PM  Additional Query Words apps msdos application  
Keywords kbenv kbtshoot

COPYRIGHT NOTICE. Copyright 2002 Microsoft Corporation, One Microsoft Way, Redmond, Washington 98052-6399 U.S.A. All rights reserved.

The Crazy One

Author Comment

ID: 8022384
I already checked that out.
See this part ?

'In the Open box, type command.com , and then click OK .

This should start a command prompt window. If this does not work properly, then there is a problem with the NTVDM subsystem, and you should check the following items: '

My concern is that I DID get that command box, and this article gives no instructions on what to do in that case.
See my point, Crazy ?


LVL 10

Assisted Solution

pbarrette earned 100 total points
ID: 8031331
Hi Mike,

In plain english..

You need to look at these 2 files:

Then make sure that the only lines in the file are those mentioned in CO's post:
dos=high, umb

lh %SystemRoot%\System32\Mscdexnt.exe
lh %SystemRoot%\System32\Redir
lh %SystemRoot%\System32\Dosx

If these lines are missing; Add them.
If there are other lines; Make sure they start with:

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.


Expert Comment

ID: 9954236
No comment has been added lately, so it's time to clean up this TA.
I will leave the following recommendation for this question in the Cleanup topic area:

Split: CrazyOne {http:#8022292} & pbarrette {http:#8031331}

Please leave any comments here within the next seven days.

EE Page Editor

Expert Comment

ID: 12806438
I have this identical problem with a particular payroll software I'd like to use.  I have already installed and successfully used the app on another machine running XP, so I know it works.  However, the machine I'd like to use this app on keeps giving me the same response.  I've checked the config and autoexec files and they are correct.  Any assistance would be appreciated.

Expert Comment

ID: 13463882
This solution might be easier:

Edit the config.nt file in the C:\windows\system32 directory to read:

EMM = B=4000 RAM
dos=high, umb

Note the spaces in the EMM line carefully - one either side of the first = and before RAM, none with the second =

Also make sure there is a line in your autoexec.nt file (C:\windows\system32 directory) that reads:

lh %SystemRoot%\system32\dosx

The error statement which the user where I got this info stated insufficient conventional memory. This fix should give 612k of conventional memory, which seems to be the maximum possible.

Here's the source:


Featured Post

Managing Security Policy in a Changing Environment

The enterprise network environment is evolving rapidly as companies extend their physical data centers to embrace cloud computing and software-defined networking. This new reality means that the challenge of managing the security policy is much more dynamic and complex.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you are like me and like multiple layers of protection, read on!
Spectre and Meltdown, how it affects me and my clients?
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…
Suggested Courses

578 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question