Configuring Application Compatibility Settings

When 16-bit and MS-DOS programs run on Microsoft Windows XP or Windows Server 2003 systems, they run in a special compatibility mode. Windows creates a virtual machine that mimics the 386-enhanced mode used by Windows 3.1, and the application runs within this context. Like most Windows components, Application Compatibility can be configured through Group Policy. For example, to enhance security and improve system stability, you might want to prevent users from running MS-DOS and 16-bit applications altogether. You can enable the related policy at the domain level. However, if you want computers and users in the DevTest OU to be able to run MS-DOS and 16-bit applications for testing purposes, you can override the policy setting that prevents the DevTest OU from running these programs. We will now look at these and other configuration scenarios for Application Compatibility.

Optimizing Application Compatibility Through Group Policy

When you run multiple 16-bit and MS-DOS programs, they run as separate threads within a single virtual machine, which means they share a common memory space. There are several ways you can prevent problems and force compatibility, including using the Program Compatibility Wizard to adjust the application’s settings so that it runs without problems.

More Info

More Info

For more information about Application Compatibility, see Microsoft Windows XP Professional Administrator’s Pocket Consultant, Second Edition (Microsoft Press, 2004).

Policies that affect Application Compatibility are stored in two locations: Computer ConfigurationAdministrative TemplatesWindows ComponentsApplication Compatibility and User ConfigurationAdministrative TemplatesWindows ComponentsApplication Compatibility. This means you can configure some aspects of application compatibility at both the computer level and the user level.

You can prevent the virtual machine (Ntvdm.exe) for the MS-DOS subsystem from running by enabling the Prevent Access To 16-bit Applications policy under Computer Configuration or User Configuration. Once enabled, this policy prevents users from running any 16-bit or MS-DOS program. It also means that any 32-bit applications with 16-bit installers or components will not run.

Note

Note

When a policy appears under both Computer Configuration and User Configuration, the Computer policy settings override those of the User settings by default. However, policy processing preferences can change this effect. For more information, see the section of Chapter 3 titled "Changing Policy Processing Preferences."

Tip

Tip

Keep in mind that the requirements of a policy determine which computers the policy’s settings apply to. If a policy requires at least Windows Server 2003, the policy applies only to Windows Server 2003 and not to Windows 2000 or Windows XP Professional.

Configuring Additional Application Compatibility Settings

When you work with Application Compatibility, other policies under Computer ConfigurationAdministrative TemplatesWindows ComponentsApplication Compatibility can be useful as well. These policies include:

  • Turn Off Application Compatibility Engine. This policy disables the application compatibility engine that is used for loading 16-bit and MS-DOS programs and runs them in compatibility mode. Windows will also no longer block the installation of programs with known compatibility problems (which can degrade performance or lead to blue screen lockups). This policy might be useful on Web or application servers that frequently load and run 16-bit and MS-DOS programs, to improve load/run performance. However, you must be sure that the 16-bit and MS-DOS programs you run are fully compatible.

    Tip

    Tip

    When you are working with application servers that use Internet Information Services (IIS), you’ll want to manage application compatibility a bit closer than with other types of servers. When a Web application starts an external program, the Compatibility Engine runs automatically regardless of whether the .exe is 16-bit or 32-bit. This behavior is designed to ensure that the external program has a compatible environment. Unfortunately, some Web applications might call external programs dozens of times per second, and all the additional calls to the Compatibility Engine can slow down the server performance and reduce responsiveness. If you’ve thoroughly tested external programs that will be used with your Web application servers, you might want to disable the Compatibility Engine to boost server performance.

  • Turn Off Program Compatibility Wizard. Prevents users from running the Program Compatibility Wizard, which can automatically adjust a program’s compatibility settings. Unless you also disable the Remove Program Compatibility Property Page policy, users can still manually adjust a program’s compatibility settings. Previously configured compatibility settings are still applied.

  • Remove Program Compatibility Property Page. Prevents users from manually adjusting a program’s compatibility settings. This policy doesn’t affect access to the Program Compatibility Wizard, however, and any previously configured compatibility settings are still applied.

  • Turn On Application Help Log EventsEnables logging of Application Help events in the application logs. These events are triggered whenever Application Help blocks a user from running a 16-bit or MS-DOS program that is known to be incompatible with the current Windows operating system. If this policy is disabled or not configured, no Application Help events are recorded in the logs. Regardless of the configuration of this policy, the user sees a help prompt whenever Application Help blocks a program from running.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.208.25