dosx.exe err msg.

T

Tom H

Many older programs give the following err msg when I try to start them:
"The Win16 subsystem was unable to enter Protected Mode, DOSX.EXE must be in
Autoexec.NT and present in your path." However, DOSX.EXE IS present in my
windows folder, and system32 and I put copies of it in several other system
folders just to make sure that it was definitely in the PATH.
The following line is present in autoexec.nt, which is located in the
"c:\windows\system32" folder:
---------------------------------
REM Install DPMI support
lh %SystemRoot%\system32\dosx
---------------------------------
I tried putting a copy of dosx in the same directory as the executable that
I was trying to run --- to no avail.
I also tried making a batchfile that "loaded high" dosx.exe (I'm assuming
that's what "lh" is derived from --- "Load High" into what was protected
memory in the old days), then start my application:

------------
REM start
lh dosx.exe
application
REM end
-----------
this didn't work either --- my system doesn't recognize "lh" as a valid
command.

At this point I'd exhausted my bag of tricks and I decided to turn to the
REAL experts, the Microsoft Maestros who hang around this newsgroup for help
with my silly little 16-bit application, and it's pathetic behaviour
problems.
 
D

David Candy

I wouldn't assume that DosX has anything to do with it. The error message is coming from Win 16, and it is probably having a guess why it can't switch, as users stuffing about with autoexec.nt is not unknown.

Your bat file won't work. Autoexec.nt is a configuration file used by ntvdm (so it very similar to a bat file but only when starting ntvdm).

NTVDM does Dos and also starts Win16 (just like a real Dos computer). Bat files do not use ntvdm at all but are Win32 bat files.

Type mem (a dos 5 command) in a command prompt.

mem /p

And see if DosX is loading in Dos (running mem runs dos not running the command prompt).

LH is a valid Dos 5 command. But not a windows command.
 
T

Tom H

Here's the output from mem /p

=====================================
Address Name Size Type
------- -------- ------ ------
000000 000400 Interrupt Vector
000400 000100 ROM Communication Area
000500 000200 DOS Communication Area

000700 IO 000370 System Data

000A70 MSDOS 006950 System Data

0073C0 IO 004A80 System Data
KBD 000CE0 System Program
ASWMONDS 000250 DEVICE=
MOUSE 0030F0 System Program
000070 FILES=
000090 FCBS=
000120 LASTDRIVE=
0007D0 STACKS=
00BE50 COMMAND 001250 Program
00D0B0 MSDOS 000070 -- Free --
00D130 COMMAND 000580 Environment
00D6C0 COMMAND 0004A0 Environment
00DB70 MSDOS 000000 -- Free --
00DB80 MSCDEXNT 0001D0 Program
00DD60 REDIR 000A70 Program
00E7E0 COMMAND 0004C0 Data
00ECB0 COMMAND 000A20 Program
00F6E0 MEM 0004C0 Environment
00FBB0 MEM 0174E0 Program
0270A0 MSDOS 078F40 -- Free --


655360 bytes total conventional memory
655360 bytes available to MS-DOS
590896 largest executable program size

1048576 bytes total contiguous extended memory
1048576 bytes available contiguous extended memory


--
 
T

Tom H

Awesome --- thanks a million Mr Wesley Vogel. I'll bookmark that site so
next time I won't need to bother you, thanks again.
 
T

Tom H

Never mind, the other guy's solution worked like a charm, but thanks for
trying anyway --- it's appreciated.
 
D

David Candy

Do you have the line dosx enabled in autoexec.nt? Cause it isn't loading in Dos.
ASWMONDS is known to sometimes cause problems for some, try moving its position in autoexec.nt above/below dosx and also disable it (it's an AV program - Avast).
 
W

Wesley Vogel

You didn't bother me.

--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User

In
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top