PRB: Application Not Recognized as Compatible with Windows 3.x

ID Number: Q74490

3.00 3.10

WINDOWS

Summary:

SYMPTOMS

When you run an application designed for version 3.0 or 3.1 of the

Windows graphical environment, Windows displays one of the

following error messages:

The specified application is not a Windows or DOS program.

or:

Application Compatibility Warning:

The application you are about to run, filename.exe, was designed

for a previous version of Windows.

You should obtain an updated version of the application that is

compatible with Windows version 3.0. To run the current version

of the application, choose Cancel. Then, exit Windows, restart

it by typing Win /r, and start the application again.

If you choose OK and continue to start this application, you

might encounter compatibility problems that could cause the

application or Windows to terminate unexpectedly.

[The message for Windows version 3.1 is similar. However, it does

not instruct the user to restart Windows in real mode (Win /r)

because real mode is not available.]

CAUSE

The application was not processed by the resource compiler (RC) or

the module definition (DEF) file does not contain the EXETYPE

WINDOWS statement.

RESOLUTION

In the Windows environment, each application and dynamic-link

library must be processed by RC even if it does not have any

resources. RC modifies the file header to enable Windows to process

the application or library correctly.

Running an application that was not processed by RC causes Windows

to display the Application Compatibility Warning message box that

contains the text above.

The DEF file for an application or DLL must contain the EXETYPE

WINDOWS statement to direct the linker to create a Windows EXE

file. If this statement is missing, RC fails with an error such as

the following:

RC : fatal error RW1030: filename: The EXETYPE of the program is

not WINDOWS. Make sure the .DEF file is correct.

Attempting to run an improperly-linked application causes Windows

to display an Unrecoverable Application Error (UAE) message box

that contains the first error message listed above.

Additional reference words: 3.00 3.10