There are two main reasons why this
happens. The first situation happens infrequently , and is related
to the available free system resources. When called on to load a
program, Windows checks to see if there's at least ten percent
system resources free. If not, it stops the load sequence. The
second cause is much more common, and involves available memory
below 1MB. When Windows creates a new task, it needs a small amount
of memory (512 bytes) below 1MB. If it cannot get this memory, the
load will fail. Windows will display the 'not enough memory to
start application' error. This limitation is as a result of the
design of Windows, and occurs because Windows still has some
connections back to the old DOS 640k limit.
You can help Windows load more programs by freeing as much
memory below 1MB as possible. You should load DOS high as well as
any drivers, TSR's, etc.
See also Q1407. |