Admin Tip #218 : Running 16-bit programs in separate memory space |
Hits: Failed to execute CGI : Win32 Error Code = 3
|
Win3.x programs use cooperative multitasking. This meant that one of these programs would run as long as it wanted and then it would let another program have the CPU ever-so-often. When these programs were well-behaved, all was OK. Unfortunately, one bad apple would upset the entire apple cart and your PC is LOCKED. NT will not let these old dogs lock your PC, but they can still interfere with each other (god forbid you are still running multiple of these old dogs). Set the program's properties to run in a separate memory space. When you click this option, NT will load each of these old dogs in its own space so they will not interfere with each other should they crash. Also this prevents one of them from hogging all the CPU allocated to the 16-bit applications.
To make this the default, cut and paste the following script into vdm.reg and run it.
REGEDIT4
BLANK LINE GOES HERE
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW]
"DefaultSeparateVDM"="yes"
BLANK LINE GOES HERE
See .REG files for background information on .REG files.
There is a command line option to start 16-bit applications in separate memory space:
At the command prompt simply type: start /separate c:\pathtoapp\application.exe
You can also launch the program in a separate memory space at the Run command by entering the name of the application and enabling the Run In Separate Memory Space check box. If that check box is grayed out, it's not a 16-bit app.