19 out of 22 rated this helpful - Rate this topic

Windows Phone OS Application Compatibility

March 22, 2012

This topic covers application compatibility issues between Windows Phone OS 7.0 and Windows Phone OS 7.1.

For more information about new features in Windows Phone OS 7.1, see:

The following table describes the Windows Phone releases and corresponding operating system version numbers.

Windows Phone release

Operating system version

Windows Phone 7 

Windows Phone OS 7.0 

Windows Phone 7.5 

Windows Phone OS 7.1 

Note Note:

A Windows Phone 7.5 device is a Windows Phone that is running Windows Phone OS 7.1.

Windows Phone SDK 7.1 enables developers to target both the Windows Phone OS 7.0 and Windows Phone OS 7.1 platforms. Applications that target Windows Phone OS 7.0 will run on both Windows Phone OS 7.0 and Windows Phone OS 7.1 devices. Applications that target Windows Phone OS 7.1 will not run on Windows Phone OS 7.0 devices. For more information, see How to: Specify a Target Version or Upgrade Projects for Windows Phone.

The following table shows application compatibility on the different versions of the Windows Phone devices.

Windows Phone Application Platform version

Windows Phone OS 7.0 device

Windows Phone OS 7.1 device

Application that targets Windows Phone OS 7.0 

green check mark

green check mark

Application that targets Windows Phone OS 7.1 

red x

green check mark

The following table describes the functionality available in both sets of tools. An upgrade wizard in Windows Phone SDK 7.1 will assist developers in upgrading their projects to Windows Phone OS 7.1.

Windows Phone SDK version

Target Windows Phone OS version

Create or open projects

Deploy or debug projects

Use Windows Phone OS 7.1 Features

7.0

7.0

green check mark

green check markWindows Phone 7 emulator and device

red x

7.0

7.1

red x

red x

red x

7.1

7.0

green check mark

green check mark

red x

7.1

7.1

green check mark

green check mark

green check mark

7.1.1

7.0

green check mark

green check mark

red x

7.1.1

7.1

green check mark

green check mark

green check mark

Windows Phone OS 7.1 contains a large number of new APIs, features, and performance enhancements. While a lot of work has been done to ensure compatibility, developers should test their existing applications to ensure proper functionality on both Windows Phone OS 7.0 and Windows Phone OS 7.1.

Here are some specific compatibility items to keep in mind when moving from Windows Phone OS 7.0 to Windows Phone OS 7.1:

  • For a list of new APIs added for Windows Phone OS 7.1, see New APIs for Windows Phone OS 7.1, What's New in XNA Game Studio 4.0 Refresh and New APIs in Silverlight for Windows Phone OS 7.1.

  • For a list of APIs changed for Windows Phone OS 7.1, see Changed APIs for Windows Phone OS 7.1 and What's New in Silverlight for Windows Phone.

  • The GPU on Windows Phone 7.5 devices may be faster - Games and visual applications that are dependent on the speed of the GPU should test to see how the performance of the GPU affects the usability of the application.

  • The execution model now supports Fast Application Switching - In Windows Phone OS 7.0, when the user navigates away from an application, the application is typically terminated and tombstoned. When the user uses the Back button to return to the application, it is reactivated. It is the responsibility of the application to restore its state after it has been tombstoned and reactivated.

    In Windows Phone OS 7.1, when the user navigates away from the application, the application is typically put into a dormant state that is preserved in memory. When the user returns to the application, its state is automatically restored by the system. However, it is possible that an application will be tombstoned after it has been put into a dormant state. For this reason, applications should implement tombstoning state management, even for Windows Phone OS 7.1 applications. For more information, see Execution Model for Windows Phone.

  • There was a major update to the WebBrowser Control – The WebBrowser Control for Windows Phone was updated to support Internet Explorer 9. Applications using the WebBrowser control should retest to make sure they are compatible with Internet Explorer 9. For more information, see Web Development for Windows Phone.

  • When you upgrade your Windows Phone OS 7.0-targeted app in the Marketplace to a Windows Phone OS 7.1 version, then Windows Phone OS 7.0 devices will be able to access only the last Windows Phone 7-targeted version - If you have an existing application in the Marketplace that runs on Windows Phone OS 7.0 devices, and you upgrade that project to be a Windows Phone OS 7.1 application and submit that project as an update to your application, then the new Windows Phone OS 7.1 application will be available to Windows Phone OS 7.1 devices but not to Windows Phone OS 7.0 devices. Windows Phone OS 7.0 devices will be able to access only the last Windows Phone OS 7.0-compatible version. Once the Windows Phone OS 7.1 version of the application has been submitted, only the Windows Phone OS 7.1 version can be updated. Windows Phone OS 7.1 applications cannot be downgraded to be compatible with Windows Phone OS 7.0.

  • Projects upgraded from Windows Phone OS 7.0 to Windows Phone OS 7.1 may need additional adjustments if Windows Phone OS 7.1 features are added to the application – If a project gets upgraded to Windows Phone OS 7.1, and Windows Phone OS 7.1 functionality is added to the application, then the developer may need to take some additional steps:

    • An upgraded project does not add in any of the Windows Phone OS 7.1 references. It may be necessary to add references to your project for new APIs that you want to use.

    • An upgraded project does not add capabilities to the application manifest file. If new Windows Phone OS 7.1 features are added to the application, it may be necessary to manually edit the manifest file or run the Capability Detection Tool. For more information, see Application Manifest File for Windows Phone and How to: Determine Application Capabilities.

  • The Photo and Share Picker Extras implementation no longer use Extras.xml – The Photo and Share Picker Extras are now implemented in the WMAppManifest.xml file. For more information, see Pictures Extensibility Overview for Windows Phone and Application Manifest File for Windows Phone.

  • Garbage collection is generational on Windows Phone OS 7.1  – Generational garbage collection optimizes performance by segregating objects by age into multiple generations and collecting them at different frequencies. Developers can optimize their code for generational garbage collection to optimize startup time and reduce execution stutters that are due to garbage collection.

  • Only Windows Phone Emulator 7.1 ships with the Windows Phone SDK 7.1  – If you are building an application that you want to run on both Windows Phone OS 7.0 and Windows Phone OS 7.1, you can do your initial testing on the Windows Phone Emulator 7.1. But to test an application for Windows Phone OS 7.0 compatibility, you must test on a Windows Phone OS 7.0 device or install the Windows Phone SDK for Windows Phone OS 7.0 on another machine. The two versions of the tools will not run side by side.

  • Most applications for Windows Phone OS 7.1 should not use the ‘Run under lock screen’ functionality – The new Fast Application Switching or Background Audio features should be used instead. For more information, see Execution Model Overview for Windows Phone and Microsoft.Phone.BackgroundAudio.

  • Windows Phone OS 7.1 supports background agents – Because Windows Phone OS 7.1 adds support for background agents or tasks, an application running in the foreground may get a lower amount of CPU allocation than on Windows Phone OS 7.0.

  • Theme colors will now show through a transparent Application List Icon – In Windows Phone OS 7.0, dark gray would show through any transparent part of an Application List icon. In Windows Phone OS 7.1, the theme color will show through any transparent part of an Application List icon. If you create an Application List icon with transparency, you should design it to display clearly against all theme colors.

  • Compatibility of third-party controls and frameworks - Any project that uses external class libraries, such as third-party controls or MVVM frameworks, that were built using the Windows Phone OS 7.0 libraries will not contain the updates for Windows Phone OS 7.1. Using these third-party controls or frameworks within a Windows Phone OS 7.1 application may result in unexpected behavior. Contact the library vendor to obtain an updated library for Windows Phone OS 7.1.

  • Event ordering may have changed - When testing your existing Windows Phone OS 7.0 application on Windows Phone OS 7.1, keep in mind that event ordering may have changed slightly. This may affect compatibility in some instances.

  • Removal of the TaiwanCalendar class - The TaiwanCalendar class has been removed from the Windows Phone API set. Developers should use a different calendar class, such as the GregorianCalendar class, instead.

Did you find this helpful?
(1500 characters remaining)