Windows 7 Application Compatibility Manifest Will Impact Windows 8

Last Updated on Monday, 20 July 2009 10:00 Written by Mire_B Monday, 30 March 2009 02:15

And all Windows releases for that matter.
Here is a sample offered by Chris Jackson, an Architect and the Technical Lead for the Windows Application Experience SWAT Team:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>
<assembly xmlns=”urn:schemas-microsoft-com:asm.v1″ manifestVersion=”1.0″>
<compatibility xmlns=”urn:schemas-microsoft-com:compatibility.v1″>
<application>
<!–Windows 7–>
<supportedOS Id=”{35138b9a-5d96-4fbd-8e2d-a2440225f93a}”/>
<!–Windows Vista–>
<supportedOS Id=”{e2011457-1546-43c5-a5fe-008deee3d3f0}”/>
</application>
</compatibility>
</assembly>
Jackson’s explanation:
“The argument for GUIDs (Globally Unique Identifier): Nobody knows what the GUID for Windows 8 is going to be yet. Not even us. So, by using GUIDs, we prevent somebody from claiming compatibility with an operating system they can’t possibly have tested with. (Odd that we’d be so against such a thing in one group, while the IE team gives you the X-UA-Compatible option of edge to do exactly that.)The argument against GUIDs: You’re punishing the good guys in order to prevent the bad guys from shooting themselves in the foot. If I test something on Windows 8, and add its GUID to my manifest, I’m going to get both the Windows 8 and Windows 7 fixes (since the OS will simply look at the highest version and apply all previous fixes). But, if I *only* put in the Windows 8 GUID, on Windows 7, I won’t recognize the Windows 8 GUID (since it doesn’t exist yet), and not only will I not give it the Windows 8 fixes, I won’t give it the Windows 7 fixes either. And, if the only fixes I actually needed were the Windows 7 ones, I just broke the app.”

Application Manifest (source MSDN)

[This documentation is preliminary and is subject to change.]

Affected Platforms

Clients – Windows 7
Servers – Windows Server 2008 R2

Feature Impact

Severity – Low
Frequency – Low

Description

Windows 7 introduces a new section in the application manifest called “Compatibility.” This section helps Windows determine the versions of Windows that an application was designed to target, and enables Windows to provide the behavior that the application expects based on the version of Windows that the application targeted.

The Compatibility section allows Windows to provide new behavior to new developer-created software while maintaining the compatibility for existing software. This section also helps Windows deliver greater compatibility in future versions of Windows as well. For example, an application declaring support only for Windows 7 in the Compatibility section will continue to receive Windows 7 behavior in future version of Windows.

Learn More

 

Designed by CodenameWindows
WordPress is Free Software released under the GNU/GPL License.