Program Compatibility Features and Resulting Internet Communication in Windows 7 and Windows Server 2008 R2
Applies To: Windows 7, Windows Server 2008 R2
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 Internet sites
Controlling program compatibility feature information to the Internet
Procedure for controlling Internet communication related to program compatibility features
The following program compatibility features are described in this section:
Compatibility tab in the property sheet
Program Compatibility Assistant
Program Compatibility Troubleshooter
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 integrate with Windows Error Reporting (WER) and the Problem Reports and Solutions feature in Windows® 7 and Windows Server® 2008 R2. 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 7 and Windows Server 2008 R2 in this document.
Benefits and purposes of program compatibility features
There are some programs that work on earlier versions of the Windows operating system that might fail to function properly on Windows 7 and Windows Server 2008 R2. This can happen for several reasons—a program may be tied to a specific version of Windows, may expect older formats of Windows data, or may expect user information to be in specific locations or formats. In addition, programs that were written exclusively for Microsoft® Windows 95, Windows 98, or Windows Millennium Edition might use direct hardware access, which can greatly reduce operating system stability. Windows 7 and Windows Server 2008 R2 require that hardware access be handled through the correct channels.
To enable a better user experience, Windows 7 and Windows Server 2008 R2 include the following program compatibility features:
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 is 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 ways, depending on if the user attempts to start an incompatible program or an incompatible driver:
Incompatible program: If the program is on the list of known incompatible programs that is included in Windows 7 or Windows Server 2008 R2, the Program Compatibility Assistant appears. If the program is known to cause a serious problem, it is blocked. Otherwise, the Program Compatibility Assistant warns the user and offers the option of running the program. In either case, the Program Compatibility Assistant offers the option of checking online for information or solutions.
If a program fails and is determined to be incompatible, the Program Compatibility Assistant offers the user the option of running the program again with recommended compatibility settings. For example, an installer that requires a compatibility mode for Windows XP can trigger the Program Compatibility Assistant. The Program Compatibility Assistant generates a report that lists the program, the compatibility settings, and other information. This 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.
Incompatible drivers: Known incompatible drivers 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.
The Program Compatibility Troubleshooter. A user can run this troubleshooter to choose compatibility settings that can help an otherwise incompatible program run successfully. The troubleshooter generates a Windows Error Report that lists the information about the program, the compatibility settings that were attempted by the user, and a report on whether the problem was fixed. 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.
The Program Compatibility Troubleshooter can be accessed in the following ways:
In Control Panel: Click Troubleshooting, and then click Run programs made for previous versions of Windows.
From any .exe: Right-click the application .exe file, and then select the Troubleshoot Compatibility menu option.
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 Assistant 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.
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 to Microsoft 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 program compatibility feature information to the Internet 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 7 and Windows Server 2008 R2 in this document.
How program compatibility features communicate with Internet sites
The program compatibility features integrate with Windows Error Reporting and the Problem Reports and Solutions Feature in Windows 7 and Windows Server 2008 R2. 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 7 and Windows Server 2008 R2 in this document.
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 or the Compatibility tab.
Default settings: By default, all program compatibility features are available in Windows 7 and Windows Server 2008 R2. However, information is sent to Microsoft only if the user consents.
Logging: When the Program Compatibility Assistant is triggered, it logs an event that includes the incompatible program's path, file name, 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 compatibility. 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 Reporting uses. Most of the information sent by the 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 groups have access to the program compatibility data, and they use the data to understand program the compatibility problems that customers are experiencing and to provide better information about how to solve those problems. If a non-Microsoft product is involved, Microsoft may send that compatibility information to the vendor of the product. The vendor may provide this information to sub-vendors and partners. All parties must abide by the terms of the privacy statement.
Privacy: The privacy statement for Windows Error Reporting (which handles the reports generated by program compatibility features) is available at:
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 program compatibility feature information to the Internet 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 about the triggers and notifications:
Trigger and user notification for the Program Compatibility Troubleshooter: When the user completes the troubleshooter, it generates a Windows Error Report. If the user selects the option to check online for a solution from the Program Compatibility Troubleshooter, the report is sent immediately. Otherwise Windows Error Reporting might save the report 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. Windows Error Reporting might save the report in a queue and send it later.
Trigger and user notification for the Program Compatibility Assistant: The following actions trigger the Program Compatibility Assistant:
The user runs a program that is on a list of known incompatible programs that are included in Windows 7 and Windows Server 2008 R2. After the Program Compatibility Assistant displays a warning or blocks the program, it provides a link to additional online information about the program. If the user responds, 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 https://oca.microsoft.com/en/response.aspx?sid= and ends with a number that is assigned to the page for that incompatible program. This 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 accesses lists of known incompatible programs that are included in Windows 7 and Windows Server 2008 R2. 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 |
Controlling program compatibility feature information to the Internet
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 the Program Compatibility Assistant and Compatibility tab: You can turn off the Program Compatibility Assistant, the Compatibility tab, or both.
For more information, see Procedure 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 that are 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 7 and Windows Server 2008 R2 in this document.
Send Windows Error Reporting reports to a server in your organization: If you use this approach, error reports like those that are generated by the Program Compatibility Assistant are sent to a server in your organization instead of being sent directly to Microsoft. With this option, users are not 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 7 and Windows Server 2008 R2 in this document.
Note
There is a Group Policy setting for turning off the underlying functionality, which is called the Application Compatibility Engine. In most situations we recommend that you do not turn off this engine.
Procedure for controlling Internet communication related to program compatibility features
The following procedure tells how to use Group Policy to turn off features of the Program Compatibility Assistant, the Compatibility tab, or both.
To turn off Program Compatibility Assistant and Compatibility tab features by using Group Policy
As needed, see Appendix B: Resources for Learning About Group Policy for Windows 7 and Windows Server 2008 R2, and then edit an appropriate Group Policy object.
Expand Computer Configuration, expand Policies (if present), expand Administrative Templates, expand Windows Components, and then click Application Compatibility.
In the details pane, double-click the following labels to turn these features off:
Prevent access to 16-bit applications.
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 Application Telemetry.
Turn Off Program Compatibility Assistant.
Turn off Program Inventory.
Turn off Switchback Compatibility Engine.
Turn off Problems Steps Recorder.
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 that you turn off this engine.
Additional references
By using the Application Compatibility Toolkit, you can customize the way Windows 7 and Windows Server 2008 R2 respond 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, see the following Web sites: