Discussion:
dosx.exe err msg.
(too old to reply)
Tom H
2005-03-18 19:16:20 UTC
Permalink
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.
Wesley Vogel
2005-03-19 02:20:32 UTC
Permalink
loadhigh is lh.

Look here >>>
http://www.experts-exchange.com/Security/Q_20529787.html

Scroll down past: Sign Up to See This Solution
and all the ads. Long post full of answers.
--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User
Post by 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
---------------------------------
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
------------
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.
Tom H
2005-03-19 03:44:51 UTC
Permalink
Awesome --- thanks a million Mr Wesley Vogel. I'll bookmark that site so
next time I won't need to bother you, thanks again.
Wesley Vogel
2005-03-19 03:55:37 UTC
Permalink
You didn't bother me.
--
Hope this helps. Let us know.

Wes
MS-MVP Windows Shell/User
Post by 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.
David Candy
2005-03-19 02:40:16 UTC
Permalink
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.
--
----------------------------------------------------------
Post by Tom H
"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
---------------------------------
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
------------
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.
Tom H
2005-03-19 03:32:55 UTC
Permalink
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


--
David Candy
2005-03-19 03:50:51 UTC
Permalink
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).
--
----------------------------------------------------------
Post by 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
--
Tom H
2005-03-19 03:45:59 UTC
Permalink
Never mind, the other guy's solution worked like a charm, but thanks for
trying anyway --- it's appreciated.
Loading...