If you currently have a Windows Phone 7.x app that you’re thinking about updating to take advantage of Windows Phone 8 functionality, you have some decisions to make about support for your existing Windows Phone 7.x apps.
To better serve your needs, the Windows Phone Dev Center now offers the ability to associate multiple XAPs with the same app GUID. This means that you can create, submit, and maintain different versions of your app for Windows Phone 7 and Windows Phone 8. One of the key advantages of multiple XAPs per app GUID is that you can associate different metadata, such as long description, with each XAP. For instance, if you have additional app functionality that is now only available with the Windows Phone 8 platform, you can highlight those in the Windows Phone 8 app long description and maintain the applicable metadata long description for the Windows Phone 7 XAP. Another advantage of multiple XAPs per app GUID is that, because they share the same GUID, you can distribute the XAPs once in the Dev Center to all of the markets you are targeting. And you don’t have to worry about your app showing up twice or end users finding the wrong version for their device. Our catalog detection will show your 7.x app to those with Windows Phone 7 devices and the 8.0 app to those with Windows Phone 8 devices.
Here’s how to decide on your approach:
- If you already have a Windows Phone 7 app and don’t want to take advantage of the new app functionality available in Windows Phone 8, you can choose to leave your app as it is. Windows Phone 8 devices are designed to run existing Windows Phone 7 apps. Therefore, your app will be visible to all Windows Phone users, including Windows Phone 8 users. We do recommend that you test your 7.x app in the Windows Phone 8 emulator, to confirm that it works properly.
- If you already have a Windows Phone 7 app and want to leverage the exciting new Windows Phone 8 features, expanded markets, and languages of the Windows Phone 8 platform, you can upgrade your app to Windows Phone 8 and maintain the existing app GUID. However, please note that this will result in your app not being visible for users of Windows Phone 7 devices.
- The final option is to add a second XAP to the app GUID of your Windows Phone 7 app. Just make a copy of your 7.x XAP and then upgrade the copied XAP to Windows Phone 8. In Dev Center you will now see an Add new option on the Upload your XAP page. This allows you to add additional XAPs to the app that have different binaries and their own long descriptions.
The following sections have walk-through steps and screenshots that describe in detail these 3 scenarios.
How to create or maintain an existing Windows Phone 7 app, targeting all existing phones
- If you already have a Windows Phone 7 app, you can choose to leave your app as is, and it will run on both Windows Phone 7 and Windows Phone 8 devices. We recommend that you test it in the Windows Phone 8 emulator (version 8.0) to confirm it works correctly.
- If you are creating a new app, ensure your app is compiled targeting Windows Phone 7, with the latest version of the SDK (version 8.0) – this will ensure it works for both Windows Phone 7 and Windows Phone 8 phones. When creating your project in Visual Studio, be sure to choose the target Windows Phone OS 7.1. Do not choose Windows Phone OS 8.0.
By updating the XAP, you are replacing the XAP with a new one.
How to create a new app or upgrade your app to target only Windows Phone 8
If you want to have only a version of your app for Windows Phone 8 devices, you have to upgrade your existing Windows Phone 7 app to Windows Phone 8, or create a new one for Windows Phone 8. This app will not be shown to Windows Phone 7 users.
To create a new app, in Visual Studio, create a new Windows Phone project and select Windows Phone OS 8.0.
- If you already have a Windows Phone 7 project, copy it to a new folder, open it in Visual Studio, and upgrade it to Windows Phone 8: In Solution Explorer, choose Upgrade to Windows Phone 8.0.
By updating the XAP, you are replacing the XAP with a new one.
How to maintain two XAPs, one for Windows Phone 7 and one optimized for Windows Phone 8
If you have a 7.x XAP, you might want to create a special version for Windows Phone 8—for example, to take advantage of higher-resolution screens or to add In-App Purchasing capability.
You will have to keep two XAPs under the same app GUID: the original one for Windows Phone 7 and the new one optimized for Windows Phone 8.
To create a Windows Phone 8 app, either create a new project targeting Windows Phone OS 8.0, with the latest version of the SDK (Version 8.0), or update an existing Windows Phone OS 7.1 project. You do not need to modify the manifest file of the Windows Phone 8 XAP to update the GUID; this is automatically synced with the WP7 XAP once you upload the new XAP.
- To create a new project, in Visual Studio, create a new Windows Phone project and select Windows Phone OS 8.0.
- Or if you already have a Windows Phone 7 project, copy it to a new folder, open it in Visual Studio, and upgrade it to Windows Phone 8: In Solution Explorer, choose Upgrade to Windows Phone 8.0.
If this is an existing app that you want to update, choose the app that has “(8.0)” in the name, and choose Update selected.
- Be sure to update the 8.0 XAP with another XAP that also targets 8.0 phones. If you update the 7.x XAP, the 7.x XAP is replaced by an 8.0 XAP, and your app will not be visible on Windows Phone 7.x devices.
- Be sure that the version number of the Windows Phone 8 XAP is higher than the version number of the Windows Phone 7 XAP.
After submitting the XAP, you will now have two XAPs for the same app:The Windows Phone Store always shows the ‘best XAP’ for each phone. If the user has a Windows Phone 8 device, they will see the Windows Phone 8 version of your app; if the user has a Windows Phone 7 device, they will see the Windows Phone 7 version. You could even create a third XAP, if you wanted, that targets the super high resolution devices only.
Common submission errors
The most common submission error is to “update” an existing Windows Phone 7 XAP with a Windows Phone 8 XAP. This replaces the Windows Phone 7 version of your app with a version that runs only on Windows Phone 8 phones. Make sure you Add new XAPs, or update the correct version of the XAP according to the user audiences that you want to target.
For more details, please read Guidance for app management.
I hope this helps you determine how to best set up and submit your XAPs. Please keep the feedback coming.