Program Compatibility Features and Resulting Internet Communication in Windows Vista

In This Section

Benefits and Purposes of Program Compatibility Features

Overview: Using Program Compatibility Features in a Managed Environment

How Program Compatibility Features Communicate with Sites on the Internet

Controlling the Flow of Information to the Internet Related to Program Compatibility Features

Procedures for Controlling Internet Communication Related to Program Compatibility Features

Note that there are three program compatibility features described in this section:

  • Program Compatibility Wizard

  • Compatibility tab in the property sheet

  • Program Compatibility Assistant

In addition, at the end of the section, there is a brief description of the Application Compatibility Toolkit, which you can use to locate and address compatibility problems.

The program compatibility features work in an integrated way with Windows Error Reporting (WER) and the Problem Reports and Solutions feature in Windows Vista. This makes it easier for you or a user to obtain updated, Web-based information about how to overcome compatibility problems with a program you want to run. For more information, see Windows Error Reporting and the Problem Reports and Solutions Feature in Windows Vista in this white paper.

Benefits and Purposes of Program Compatibility Features

There are some programs that work on earlier versions of Microsoft Windows that might fail to function properly on Windows Vista. This can happen for several reasons—a program may expect older formats of Windows data, may expect user information to be in specific locations or formats, or may not be designed for the tighter security implemented in Windows Vista. In addition, programs written exclusively for Microsoft Windows 95, Windows 98, or Windows Millennium Edition may use direct hardware access, which can greatly reduce operating system stability. Because of its Microsoft Windows NT heritage, Windows Vista requires that hardware access be handled through the correct channels.

To enable a better user experience, Windows Vista includes several program compatibility features:

  • The Program Compatibility Wizard. A user can run this wizard to choose compatibility settings that can help an otherwise incompatible program run successfully. After the user tries the settings, the wizard asks whether to send Microsoft a report about the incompatible program and the compatibility settings that were selected. The user can view the information before choosing whether to send the report. For a description of the information in the report, see "Aspects of Internet Communication that are Similar for All Program Compatibility Features," later in this section.

    One way to start the Program Compatibility Wizard is by opening Help and Support and clicking a topic about getting programs to work with this version of Windows. (Some topics in Help and Support have shortcuts in the topic through which a user can start the wizard.) Another way to start the wizard is to open Control Panel, click Programs, and under Programs and Features, click Use an older program with this version of Windows.

  • The Compatibility tab in the property sheet for a program. A user can right-click a program icon or program file (for example, on the desktop or in Windows Explorer), click Properties, click the Compatibility tab, and then change the compatibility settings for the program. A report that lists the program, the compatibility settings, and other information will be generated and then handled by Windows Error Reporting (if it is enabled). For a description of the information in the report, see "Aspects of Internet Communication that are Similar for All Program Compatibility Features," later in this section.

  • The Program Compatibility Assistant. This feature runs in two different ways, depending on what the user attempts to start:

    • A known incompatible program: If the program is on a list of known incompatible programs included in Windows Vista, the Program Compatibility Assistant appears. If the program is known to cause a serious problem, it will be blocked. Otherwise, Program Compatibility Assistant warns the user but offers the option of running the program. In either case, the Program Compatibility Assistant also offers the option of checking online for information or solutions.

      For known incompatible drivers, the response is slightly different. They are always blocked, and a balloon notification appears. If the user clicks the notification, the Program Compatibility Assistant appears and offers the option of checking online for information or solutions.

    • A program that fails in a way that indicates incompatibility: If a program fails in a way that is typical of incompatible programs, the Program Compatibility Assistant appears. It offers the user the option of running the program again with recommended compatibility settings. An example of a common type of program that can trigger the Program Compatibility Assistant is an installer that requires Windows XP compatibility mode. The Program Compatibility Assistant generates a report that lists the program, the compatibility settings, and other information; the report is handled by Windows Error Reporting. For a description of the information in the report, see "Aspects of Internet Communication that are Similar for All Program Compatibility Features," later in this section.

Overview: Using Program Compatibility Features in a Managed Environment

In a managed environment, the program compatibility features can be of significant value. The Program Compatibility Wizard and Compatibility tab offer ways for a user to try compatibility settings with a program. The Program Compatibility Assistant can prevent a user from running a program that is known to cause serious problems. The Program Compatibility Assistant can also offer recommended compatibility settings for a program that displays a typical kind of incompatibility.

However, you might decide to use Group Policy to control compatibility features. With Group Policy, you can:

  • Turn off one or more of the program compatibility features.

  • Turn off Windows Error Reporting, so that reports generated by the program compatibility features are not sent and solution information is not sent back.

  • Configure Windows Error Reporting so that all reports (including reports from program compatibility features) are sent to a server in your organization instead of being sent directly to Microsoft.

For more information about Group Policy settings for program compatibility features, see "Controlling the Flow of Information to the Internet Related to Program Compatibility Features," later in this section. For more information about Group Policy settings for Windows Error Reporting, see Windows Error Reporting and the Problem Reports and Solutions Feature in Windows Vista in this white paper.

How Program Compatibility Features Communicate with Sites on the Internet

The program compatibility features work in an integrated way with Windows Error Reporting and the Problem Reports and Solutions Feature in Windows Vista. This makes it easier for you or a user to obtain updated, Web-based information about how to overcome compatibility problems with a program you want to run. For more information, see Windows Error Reporting and the Problem Reports and Solutions Feature in Windows Vista in this white paper.

Aspects of Internet Communication that are Similar for All Program Compatibility Features

Some aspects of Internet communication are similar for all program compatibility features, as described in the following list:

  • Specific information sent: All program compatibility features create a similar type of report for handling through Windows Error Reporting. The reports contain the following information.

    • File name: This is the file name of the program executable.

    • Program information: This information is stored in the program, and it can include the product name, version, company name, and a description of the program. (Some programs do not store all these types of information.)

    • Feature and (in some cases) context from which the report was generated: This information is coded as a number, and it tells whether the report came from the Program Compatibility Wizard, Compatibility tab, or Program Compatibility Assistant. In addition, if the report came from the Program Compatibility Assistant, this number also indicates the general context in which the Program Compatibility Assistant started, for example, from an installer.

    • User response (where relevant): This information is coded as a number that indicates the user's response. For example, if the report was generated by the Program Compatibility Assistant in response to an installer, this number indicates whether the user restarted the installer by using Windows XP compatibility mode.

      The user's response is not relevant for the Compatibility tab, or in situations where the Program Compatibility Assistant appears but does not offer multiple options for the user to choose between.

  • Default settings: By default, all program compatibility features are available for use in Windows Vista.

  • Logging: When the Program Compatibility Assistant is triggered, it logs en event that includes the incompatible program's path, filename, version, and product name, along with information about what triggered the Program Compatibility Assistant and what compatibility settings were applied.

    You can also use tools in the Application Compatibility Toolkit to help you monitor application compatibilty. The Application Compatibility Toolkit is described in "Additional References," later in this section.

    Also, when program compatibility features obtain solution information through Windows Error Reporting, that information can be viewed through the Problem Reports and Solutions feature (like other solution information obtained through Windows Error Reporting).

  • Encryption: The program compatibility features use the same approach to encryption that Windows Error Reports uses. Most of the information sent by program compatibility features (for example, program name and version) falls into the Windows Error Reporting category of "parameters," and therefore, it is not encrypted. If any information beyond "parameters" information is sent, it is encrypted.

  • Access: The Microsoft product group has access to the program compatibility data, and uses the data to understand program compatibility problems that customers are experiencing and to provide better information about how to solve those problems.

  • Privacy: The privacy statement for Windows Error Reporting (which handles the reports generated by program compatibility features) is available at:

    https://go.microsoft.com/fwlink/?LinkId=825

    Additional privacy statements for program compatibility features are available on the Microsoft Web site at:

    https://go.microsoft.com/fwlink/?LinkId=70682

  • Transmission protocol and port: For unencrypted information, HTTP is used with port 80. For encrypted information, HTTPS is used with port 443.

  • Ability to disable: You can use Group Policy to disable program compatibility features, as described in "Controlling the Flow of Information to the Internet Related to Program Compatibility Features," later in this section.

Triggers and User Notifications for Program Compatibility Features

For each of the program compatibility features, a different trigger causes a report to be generated and passed to Windows Error Reporting. The user notifications are also different for each program compatibility feature. The following list provides details.

  • Trigger and user notification for the Program Compatibility Wizard: When the user completes the wizard, the wizard asks whether to send Microsoft a report about the program and the compatibility settings that were selected. The user is offered the opportunity to view the information in the report and must provide confirmation before the report is sent. Information is not sent automatically, and the report might not be sent immediately; Windows Error Reporting might save it in a queue and send it later.

  • Trigger and user notification for the Compatibility tab in the property sheet for a program: When the user changes settings on the Compatibility tab and then clicks OK, a report is generated and passed to Windows Error Reporting. The report might not be sent immediately; Windows Error Reporting might save it in a queue and sent it later.

  • Trigger and user notification for the Program Compatibility Assistant: There are two different triggers for the Program Compatibility Assistant:

    • The user runs a program that is on a list of known incompatible programs included in Windows Vista. After the Program Compatibility Assistant blocks the program or displays a warning, it offers a button that the user can click to find online information about the program. If the user clicks the button, the Program Compatibility Assistant generates a report and sends it through the Windows Error Reporting feature. The resulting Web page has a URL that begins with http://oca.microsoft.com/en/response.aspx?sid= and ends with a number assigned to the page for that incompatible program. The Web page displays information or links that might help solve the compatibility problem.

    • The user runs a program that fails in a way that is typical of incompatible programs. The Program Compatibility Assistant appears and offers the user the option of running the program again with recommended compatibility settings. When the user responds (regardless of what the response is), a report is generated and passed to Windows Error Reporting.

How Information is Stored Locally for the Program Compatibility Assistant

As described in the previous list, the Program Compatibility Assistant uses lists of known incompatible programs that are included in Windows Vista. The lists are in the following set of database files:

File Name Type of File Information Stored

Sysmain.sdb

Information about known incompatible programs (.exe files)

Msimain.sdb

Information about known incompatible Windows installer packages (.msi files)

Drvmain.sdb

Information about known incompatible drivers

To control the way program compatibility features communicate across the Internet, you can use Group Policy to accomplish one or more of the following:

  • Turn off one or more of the program compatibility features: You can turn off the Program Compatibility Wizard, the Compatibility tab, the Program Compatibility Assistant, or any combination of these features. You can also turn off individual actions that the Program Compatibility Assistant performs, such as detecting installers that fail.

    For more information, see "Procedures for Controlling Internet Communication Related to Program Compatibility Features," later in this section.

  • Turn off Windows Error Reporting: If you turn off Windows Error Reporting, reports generated by the program compatibility features are not sent. With this option, users will not be able to view updated Web-based information about solutions to compatibility problems.

    For more information, see Windows Error Reporting and the Problem Reports and Solutions Feature in Windows Vista in this white paper.

  • Send Windows Error Reporting reports to a server in your organization: If you use this approach, error reports like those generated by the Program Compatibility Wizard are sent to a server in your organization instead of being sent directly to Microsoft. With this option, users will not be able to view updated Web-based information about solutions to compatibility problems.

    For more information, see Windows Error Reporting and the Problem Reports and Solutions Feature in Windows Vista in this white paper.

Note that there is a Group Policy setting for turning off underlying functionality called the Application Compatibility Engine, but in most situations we do not recommend turning off this engine.

The following procedures tell how to use Group Policy to:

  • Turn off one or more program compatibility features.

  • Locate settings for turning off individual actions that the Program Compatibility Assistant performs, such as detecting installers that fail.

To Turn Off Program Compatibility Features by Using Group Policy

  1. See Appendix B: Resources for Learning About Group Policy for Windows Vista for information about using Group Policy. Using an account with domain administrative credentials, log on to a computer running Windows Vista, open Group Policy Management Console by running gpmc.msc, and then edit an appropriate Group Policy object (GPO).

Note

You must perform this procedure by using GPMC on a computer running Windows Vista (GPMC is included in Windows Vista).

  1. Expand Computer Configuration, expand Administrative Templates, expand Windows Components, and then click Application Compatibility.

  2. In the details pane, double-click and then enable the settings for the features you want to turn off:

    • Remove Program Compatibility Property Page. The Compatibility Property Page is also known as the Compatibility tab in the property sheet for a program.

    • Turn Off Program Compatibility Wizard. When this setting is enabled, the wizard will start, but the first page of the wizard will inform the user that the wizard has been turned off.

    • Turn Off Program Compatibility Assistant. When this setting is enabled, the Program Compatibility Assistant can only be triggered by a program that is on a list of known incompatible programs.

      As an alternative, you can use the next procedure to locate settings for turning off some of the actions that the Program Compatibility Assistant performs.

Important

Do not configure Turn Off Application Compatibility Engine unless you have reviewed the Explain text for the setting. In most situations we do not recommend turning off this engine.

To Locate Group Policy Settings for Turning Off Individual Actions of the Program Compatibility Assistant

  1. See Appendix B: Resources for Learning About Group Policy for Windows Vista for information about using Group Policy. Using an account with domain administrative credentials, log on to a computer running Windows Vista, open Group Policy Management Console by running gpmc.msc, and then edit an appropriate GPO.

Note

You must perform this procedure by using GPMC on a computer running Windows Vista (GPMC is included in Windows Vista).

  1. Expand Computer Configuration, expand Administrative Templates, expand System, expand Troubleshooting and Diagnostics, and then click Application Compatibility Diagnostics.

  2. View the Group Policy settings that are available. If you want more information about a setting, double-click the setting and then click the Explain tab.

Additional References

  • By using the Application Compatibility Toolkit, you can customize the way Windows Vista responds to programs that are known to compromise system integrity. For example, you can use the Compatibility Administrator tool to create custom messages that notify users about problems with an incompatible application and redirect users to your intranet site. For more information about the Application Compatibility Toolkit, see the TechNet Web site at:

    https://go.microsoft.com/fwlink/?LinkId=29880

  • For information about application compatibility for developers writing programs for Windows Vista, see the MSDN Web site at:

    https://go.microsoft.com/fwlink/?LinkId=73079

  • For more information about application compatibility for Windows Vista, see the TechNet Web site at:

    https://go.microsoft.com/fwlink/?LinkId=72150