I'm posting this description of the various ways to run DOS applications with Windows 95 in the hope it will be useful to someone. I originally typed it for a friend, and to help make the issues clear in my own mind:
Here is a bunch of information on running DOS applications on a PC with Windows 95. Most of it is from an excellant book called "Windows 95 Secrets" by Brian Livingston & Davis Straub, published by IDG Books. You can get this book for about $40 from one of the book stores in the mall. I highly recommend it.
There are 5 ways I know of to run DOS programs with Windows 95. I'll list each with a short description, then give details on how to do each one. I recommend these in the order they are listed.
The best way is to make an icon which is a shortcut to the DOS program, then change the "properties" of the shortcut to fine tune how the DOS box works.
To make the shortcut, right click in empty space, either on the desktop or in a folder window (or the right-hand window in Explorer). Choose New, then Shortcut. In the Command line box, enter the complete drive and path to the DOS program, or search for it using the Browse button, then click the Next button. In the "Select a name" box, fill in the title you would like the icon to have (typically the name of the DOS program) then click the Finish button. You should see an icon with the name you chose.
To change the shortcut's properties, right click the icon and choose "Properties". There will be five tabs in the properties sheet, but usually you will only want to use the Program tab and the Screen tab.
The Program tab, in addition to letting you change the icon title and program command line, lets you enter the name of a batch file. If you do, clicking the icon will run the batch file, then the command line only after the batch file is finished. Use this batch file to set environment variables, load TSRs, or anything else you want to do in preparation for running this program. This lets you leave lines out of AUTOEXEC.BAT so they don't waste RAM for or confuse other DOS programs. Unfortunately, no such facility is provided for CONFIG.SYS, so you have to include anything needed for the program in the main CONFIG.SYS file in the root directory of the boot drive if you want to run the program in a DOS box.
Also on the Program tab are controls for the type of window to start with (when and if it is not full screen), and a check box to close the DOS box when the program is done. This box is unchecked by default, so you probably want to check it to avoid the annoyance of having to close the window after exiting the program. Unchecking it is good for trouble shooting if the program ends abnormally because you can see any error messages after the program ends.
The Screen tab lets you tell the shortcut whether to start the program full screen or in a window. Whichever, you can toggle back and forth from full screen to window with Alt-Enter.
You can now run the DOS program while in Windows by double clicking the shortcut icon. All Windows task management features and some cut and paste features will work with the DOS program.
To run a DOS program in a "generic" DOS box, just double click the program file in a folder or an explorer window, or use the Start menu's Run choice.
If your DOS program won't run in a DOS box, try changing other properties and see if you can get it to work. If not, you may have to use Compatibility Mode.
To set up either of these modes, set up a shortcut as described above. Right click the icon and choose Properties, then click the Program tab on the Properties sheet and click the "Advanced" button. Check the box labeled "MS-DOS mode". For "non-rebooted" DOS mode, just OK all the boxes and you're done. For "rebooted", click the selection button labeled "Specify a new MS-DOS configuration". You'll then want to edit the "CONFIG.SYS for MS-DOS mode" and "AUTOEXEC.BAT for MS-DOS mode" boxes to make them just right for your DOS program. Then, OK all the boxes and you're set up for "rebooted" mode.
"DOS Compatibility Mode" and "Rebooted DOS Mode" both are considered "MS-DOS mode" by Windows 95. The difference is "Rebooted" takes longer because of the reboot, but the reboot lets you set up "private" CONFIG.SYS and AUTOEXEC.BAT files so you don't have to put any entries into the "Windows 95" CONFIG.SYS and AUTOEXEC.BAT to support the DOS program you run in "rebooted" mode.
"Compatibility mode" (non-rebooted) does run a batch file called DOSSTART.BAT in your Windows 95 folder, which can help with this shortcoming, and you can still use the "batch file" feature on the Program tab of the properties. If you're going to use non-rebooted "compatibility mode", you should look at DOSSTART.BAT, in the Windows 95 folder, because when Windows 95 is installed, DOSSTART.BAT is created to contain the TSRs which were remarked out of your AUTOEXEC.BAT. This means it may not look exactly as you want it to and you may want to edit it. DOSSTART.BAT only runs in DOS Compatibility mode, but remember you can run a batch file before any DOS program by putting the batch file name in the icon's Properties sheet Program tab in the box labeled "Batch file:".
You can also run in (non-rebooted) compatibility mode by choosing "Shut Down" on the Start menu, then clicking "Restart in MS-DOS mode." This will bring you to a DOS prompt. Type exit to return to Windows.
Be aware that if you have any type of boot menu system, like the Windows 95 Startup Menu, a DOS MultiConfig menu in your CONFIG.SYS, or some type of boot manager for multiple operating systems, you'll need to be alert to make the correct choice while rebooting, both before and after your DOS program runs in rebooted DOS mode.
In either mode you can't run any other programs at the same time as your DOS application. Exiting the program should return you to Windows.
A command line start means that when Windows 95 is loading, it does not load the graphical interface it normally loads over DOS 7.0. You're left with a familiar DOS prompt, and there is no "private" CONFIG.SYS or AUTOEXEC.BAT. This is just like an old-fashioned PC running DOS, except it's DOS 7.
You can make this happen by bringing up the Windows 95 Startup Menu and choosing "Command Prompt Only", or by editing MSDOS.SYS in the root directory of the boot drive to make it happen automatically. MSDOS.SYS is a text file in DOS 7.
To edit MSDOS.SYS, you can use any text editor, like Windows 95's NotePad. Find the [Options] section, and make sure there's a line:
BootGUI = 0
If it's already there but equal to 1, change it to zero. If it's not already there, add the line. The next time you boot the computer to Windows 95, and every time thereafter, you'll get the DOS 7 command prompt after CONFIG.SYS and AUTOEXEC.BAT run. No graphical interface will appear until you change BootGUI back to 1 and reboot.
If you don't want such a "permanent" change, you can just choose "Command Prompt Only" from the Setup Menu. To get to the Setup Menu, either hit F8 during the boot when you see "Starting Windows 95", or you can edit MSDOS.SYS so the Setup Menu always comes up when you boot. To do this, add a line to the [Options] section of MSDOS.SYS:
BootMenu = 1
Once again, if BootMenu is already there but equal to zero, change it. Otherwise, add the line. The next time the computer boots to Windows 95, and every time thereafter, you'll get the Setup Menu. This will always happen until you change BootMenu back to zero and reboot.
This should not be necessary in almost all cases. The version of DOS must have been on the PC before Windows 95 was installed, and Windows 95 must not have been installed in the same directory (over top of) Windows 3.1. Windows NT and OS/2 have multi-boot managers which may override Windows 95's control over booting to previous DOS versions. 3rd party boot manager programs like System Commander from V Communications can make managing multiple operating systems easier.
To boot to a previous version of DOS, you can choose "Previous version of MS-DOS" from the Windows 95 Setup Menu (see COMMAND LINE START for how to get to the menu), or press the F4 key during boot when you see "Starting Windows 95", or edit MSDOS.SYS, find the [Options] section, and add the line:
BootWin = 0
Actually, F4 is a toggle which "reverses" the effect of BootWin, just for the boot during which you pressed F4. This means pressing F4 when BootWin is zero boots to Windows 95, as if BootWin were one. Pressing F4 when BootWin is one boots to the previous version of DOS, as if BootWin were zero.
WARNING: Don't run low level disk programs in your old version of DOS, like CHKDSK /F, SCANDISK, SYS, FORMAT, etc. They may conflict with Windows 95 long file names and really mess up your hard drive. Also, you shouldn't use a previous DOS version to do ANYTHING on a drive with the new Windows 95 FAT32 file system, an option on Windows 95 version shipping with new computers starting the last quarter of 1996. FAT32 is NOT compatible with old versions of DOS.
Remember, if all else fails, there's always the option of making a DOS boot floppy.
Don Stauffer
don@skyler.com