COMPATIBILITY INSTRUCTIONS FOR 16-BIT PROGRAMS ON WINDOWS XP, WINDOWS VISTA, AND WINDOWS 7 BY CHRIS RIMPLE (HTTP://WWW.CHRISRIMPLE.COM) LAST UPDATED JULY 4, 2010 CONTENTS [1] Overview [2] Error Types [3] Folder Location Error [4] Emulation Configuration Error [5] Run Program [1] OVERVIEW Many excellent 16-bit programs were released for Windows 3.x, 95, 98/SE, and ME that may give errors when installed on later 32-bit Windows versions (XP, Vista, Win7). While later Windows versions include Compatibility Mode settings that are intended to resolve the errors, additional changes are usually necessary. These instructions will help you configure later Windows versions to use older programs. Please note that these instructions have been fully tested on Windows XP, but may require minor adjustments on Vista and Windows 7. [2] ERROR TYPES Two common errors that you may see when trying to install or run a 16-bit program include: - "The parameter is incorrect" - "The Win16 Subsystem was unable to enter Protected Mode, DOSX.EXE must be in your AUTOEXEC.NT and present in your PATH" The first is usually a folder location error, while the second is an emulation configuration error. [3] FOLDER LOCATION ERROR Many 16-bit programs were released before Windows 95. Back then, folder names could only be 8 characters in length, have no spaces, and no lowercase letters. As a result, installers and programs may fail to run if they're stored in a folder with a long name, that has spaces or lowercase letters in the name, or that is "too deep" in other folders. When run, the program can't identify it's own location, so it can't find any additional files, and gives a "parameter" error. Here are some examples of folders that would cause problems for 16-bit programs: - C:\THIS_FOLDER_HAS_A_LONG_NAME - C:\THIS FOLDER HAS SPACES - C:\this_folder_has_lowercase_letters - C:\THIS\FOLDER\IS\TOO\DEEP For all these cases, the solution is usually to move the program (and any accompanying files) to a folder that doesn't break any of the rules. For example, if you're trying to install a program, you might put the installer in C:\INSTALL. When you run the installer and are asked for a destination folder for the program, you might specify C:\PROGRAM. Folder location is usually not a problem when installing a program from a floppy disk or compact disc, since Windows defines their locations in "allowed" ways (A:\, D:\, etc.). [4] EMULATION CONFIGURATION ERROR Ignore any instructions on the Internet about setting Compatibility Mode or using the Compatibility Wizard in Windows; for most programs, they're not necessary and don't help anyway. What's needed is to make some very specific changes to a number of files: A. Check path - Start > Settings > Control Panel > System - Click on the Advanced tab, then the Environment Variables button - In the System Variables box, scroll down to the "Path" variable; it's value should start with "c:\windows\system32;" - If "c:\windows\system32;" is missing from "Path", then click Edit and add it B. Change file attributes - Start > Run, type "cmd" (no quotes) and click OK - At the DOS prompt, type "cd c:\windows\system32" and press ENTER - Type "attrib -s -h dosx.exe" and press ENTER - Type "attrib -s -h redir.exe" and press ENTER - Type "attrib -s -h mscdexnt.exe" and press ENTER C. Edit configuration file - Type "notepad config.nt" and press ENTER; Notepad will display the file - Look for a line in the file that reads "shell==%SystemRoot%\system32\command.com /e:4096" or similar; command.com is the critical portion - Type "rem " at the beginning of that line, so it looks like "rem shell==%SystemRoot%\system32\command.com /e:4096" - From the File menu, choose Save, then exit Notepad - Type "exit" and press ENTER [5] RUN PROGRAM Having completed the steps above to fix folder location and emulation configuration errors, run your program. [END]