App submission tips for Windows Phone 7 and Windows Phone 8

App submission tips for Windows Phone 7 and Windows Phone 8

  • Comments 25
  • Likes

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:

  1. 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.
  2. 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.
  3. 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

  1. 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.
  2. 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.
    image

When your app is ready to be submitted, in Dev Center, create a new app and go to Upload and describe your XAP(s) to add the XAP.
image

If the app is new, use Browse to add the XAP.
image

If this is an existing app that you want to update, choose the app that has “(7.1)” in the name, and choose Update selected.
image

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.
image

  1. 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.
    image

Once your app has been created, in Visual Studio replace (update) the existing 7.1 app with the new 8.0 app.
image

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.

  1. To create a new project, in Visual Studio, create a new Windows Phone project and select Windows Phone OS 8.0.
    image
  2. 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.
    image

When the app is ready for submission, go to Dev Center, choose the existing app, and go to Upload and describe your XAP(s).
image

To add the new XAP, choose to Add New and add this additional XAP.
image

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.

image
IMPORTANT NOTES:

  • 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.

25 Comments
You must be logged in to comment. Sign in or Join Now
  • Can you help me with this, please?

    When a user "reviews" an app with 2 XAP (one for wp7 and one for wp8), the user with a WP8 can see reviews that have been made for wp7 and viceversa?

    Or every user will be only capable of see comments that have been made for his OS version?

    Thanks!

  • @UsmanUrRehmanAhmed,by 'adding new' you should be able to add a second XAP, and leave the WP7 version unchanged. You only see the info of one XAP at a time in the screen.

    Regards

    Bernardo

  • I want to submit an update to an existing WP 7.1 published app. I don't want to hurt the existing copy but only provide a newly developed version that is specifically cooked for WP 8.0. Now I press "Add New", provide the new .XAP (relative to 8.0) and the popup progresses for time being and closes with only 7.1 version being listed in drop down again. I've tried different versions of web browser as well without luck. Please suggest.

  • The most expected windows phone features this year mobileupdate24.blogspot.com/.../the-most-expected-upcoming-features-of_27.html

  • goneale
    0 Posts

    Based on this quote, it infers there are new markets which aren't accessible on WP7.x? I thought my app targets everywhere?

    "..If you already have a Windows Phone 7 app and want to leverage the exciting new Windows Phone 8 features, expanded markets, and.."

    I thought WP7.x and WP8 were available to all new markets as they release? Are there particular markets only available on WP8? Where can I see a list?

  • Necroman
    18 Posts

    "Be sure that the version number of the Windows Phone 8 XAP is higher than the version number of the Windows Phone 7 XAP." - why is that? I got two apps with WP7 and WP8 version with the same version number and it works just fine both on WP7 and WP8 devices.

  • swadesh
    0 Posts

    Hi,

    It has been written above "Be sure that the version number of the Windows Phone 8 XAP is higher than the version number of the Windows Phone 7 XAP", if we will follow this then we need to submit both binaries(or change the version of binaries) at the same time as the version number of WP8 Xap's should always be higher than the version number of WP7 Xap.

    So whenever i need to submit a update in one binary(WP7) i need to change the version number of both of them.

    For Example :

    App X version  is 1.1.1.0 for WP7 that supports (OS 7.1 - 8.0)

    Now i want to submit separate binary for WP8, so my version would be 1.1.1.1 (as 1.1.1.1 > 1.1.1.0)

    Now if later i want to update my binary for WP7 , version would be 1.2.1.1 or 1.1.1.2

    and both of these versions are greater than 1.1.1.1 so i always need to change the version number of both the binaries if i need to update WP7 binary.

    I don't want to break the sequential numbering of version because it can confuse customer.

    Please help us.

    Thanks in Advance,

    Swadesh Sharma

  • @bzakharin, WP7 apps cannot use the full WP8 screens with different aspect ratios, as this would carry a risk that the application would not display properly. The easiest way to enable this is to update your app to Windows Phone 8.0 in Visual Studio, then test your app in the different emulators to confirm it looks you expect it, and then submit the additional WP8 XAP. No need to do anything else.

    Bernardo Zamora

    Windows Phone Store team

    Microsoft

  • Is there a way a WP7 app can be told to take up the entire screen on WP8 devices with different aspect ratios?

  • @costy_alex: There currently is no possibility to depoly Apps to the phone without having a developer account. There is the possibility of paying for that (99$ / year) or to get it for free through the Dreamspark program.

    @Andrew: You should add the WP8-XAP as another XAP besides your WP7-XAP. Then the WP7 users will still have the WP7 version available and the WP8-users will be allowed to upgrade. Especially if you've built it from a new project you should check to be sure that the new version will able to use stored data/settings created by the old one because App data of the old App will still be there and users will expect it to be accesible after they installed an update.

    @Robert: I had a similar issue with my App and decided to stop publishing it on the marketplace until the fixed version was published. I had a bug in it that made the App crash after an update because it detected that it was an update and tried to display a change log.

  • hi...I developed a simple windows phone app and I don't want to submit my app on the marketplace, I just wanna save it on my phone....can I do that? if yes how? thank you.

  • toybook
    0 Posts

    About full version.. Wondering how many people with Mac or Windows * pirated (by any reason) version want to buy Windows 8 http://www.bankinfoonline.com/

  • Andrew, if you *add* an additional WP8 XAP in Dev Center, your Windows Phone 8 users will automatically get the new version, and they will update to the new version seamlessly.

    Note that if you *replace* the existing WP7 XAP with a WP8 XAP, then your Windows Phone 7 users will no longer be able to find or download your app.

    Bernardo Zamora

    Windows Phone Store Team

    Microsoft

  • I want to replace my WP7 app with a new WP8 app created from a new project. Do I have to do anything special to ensure that it will be possible for users of the WP7 app running on WP8 to upgrade to the WP8 version keeping the existing app's data, or is it simply enough to add the new WP8 XAP to the same app in the dev center?

    Thanks

  • By the way, you should really only have to publish screenshots for the different aspect ratios supported, not each actual resolution. You should be able to submit WXGA & 720p versions only, and your back-end should automatically scale-down the WXGA version to WVGA. You could use a .NET module like http://imageresizing.net/ to do the dirty work on the back-end to reduce the number of files you have to deal with.

  • I'd like to echo the comments that submitting an app to the WP store is a serious pain in the butt. Let me give you a scenario: I posted v1 of my app, and it went through certification with no problems. Bugs came up that were not caught in testing, so I submitted an update. While the update was in certification, more people were downloading the app and more crashes were happening. But since the update was in limbo, I had no way of using the description to let people know a fix was on the way. Then, the update failed certification, due to two of the 24 screenshots I had to submit (4 screenshots, per resolution, per language) had the framerates in them by mistake. Also, it failed because the app didn't have a way to turn off your location (which means it should never have passed certification the first time). So then I had to resubmit, STILL having no way to inform my existing users that the problem is being resolved, because you can only submit one update at a time.

    You guys really need to decouple app testing from marketing reviews. I should be able to post marketing page updates WHILE a XAP is in testing. And the 5 days thing is ridiculous. The Windows Store is down to getting apps online within 24 hours. You guys need to step it up, because you are forcing me to provide a terrible user experience to my customers.

    Finally, why don't you guys have a set of web services that we can use to integrate with the store with our own systems. More importantly, how come there isn't a WPDev app that integrates with the submission process, so we can manage metadata straight on the phone, get Live Tile updates on submission status, and Toast notifications when our apps are approved/declined? That kinda seems like a no-brainer.

    Please please please allow us to have multiple updates in the queue simultaneously, and please allow us to select metadata-only updates that can be routed to the store in between XAP updates.

    Thanks!

    Robert McLaws

    AdvancedREI.com

  • Hello, thanks for all the posts and questions.

    Submitting 7.1 and 8.0 at the same time, in parallel, is possible. You need to add both XAPs at the same time, and then 'submit' once. If the submission process is already started, there is no way today to add another XAP until certification is finished.

    About the additional reports, great idea. Now that we have many more Windows Phone 8 devices, this becomes more important. I've shared this with the Dev Center team.

    On the question about blocking WP7 apps from showing in WP8 devices: if the app is not working on WP8 due to a bug or problem in WP8 with XNA, please let support know (open a support ticket). If the bug cannot be fixed, then there might be a way for the Store team to block the app from showing in WP8 devices - support would be the team that has the details to confirm if that is possible.

    On the need to duplicate the metadata and images for new WP8 submissions, and the requirement to submit 3 new sets of high resolution images: this is an important feature to simplify submission. I've shared this with the Dev Center team.

    And on the question about how to target specific XAPs for specific screen resolutions, the way to do it is specify in the WP8 XAP which screen resolutions are supported by that XAP (in the app manifest). If a WP8 has a supported resolution, it will use the WP8 XAP, if the phone has a lower resolution not supported by the WP8 XAP, it will use the WP7 XAP. This way the consumer gets the best version possible for their phone.

    Bernardo Zamora

    Windows Phone Store team

    Microsoft

  • Necroman
    18 Posts

    @ImperialDynamics You can do that, you just have to select in WP8 app manifest supported resolutions. In one XAP allow only WVGA and WXGA and in second XAP allow only 720p, then submit both these WP8 xaps together with WP7 version, if you have any.

  • John
    26 Posts

    Why do I have to provide screenshots for all 3 resolutions? For Windows Store apps, I provide screenshots only for 1 resolution, even my app runs on all kind of Windows 8 screens and devices.

    For WP8 you make this really difficult. I cannot run the emulator due to strange hardware requirements. So I have to develop on my HTC 8x and thus cannot create screenshots for all 3 supported resolutions, even my app works fine on all of them.

    Think about an app, which supports 16 languages (like my desktop application). I would have to provide 16 x 3 x 8 = 384 screenshots! That's why my WP app only supports 3 languages. You make it really hard to develop for your platform!

    We need also statistics about device usage. I have to know how many of my users are on WP7 vs WP8, so I can decide when I could end the support of my WP7 app. Please hurry up, everything on WP develops so slowly!

  • I'd like to ask something please, I believe it has been answered but can we make it more clear please:  I want wp8 users with 720p screens to see a wp8-720p xap and all other 3 categories of users (wp7, wp8-wvga, wp8-xvga) to see the wp7 xap. For example a Lumia 920 user to only see the wp7 xap (yes 7) and an Ativ S user to see the wp8 xap.  (In case you are wondering why, my laptop cannot run the wp8 emulator so i can develop wp8 apps only on my Ativ S which means no xvga).   PLEASE advise, Thank you

  • Give us a WebService API for all this please. It would on the one hand enbale us to write Apps for our phones that can give us information on how Marketplace Apps are doing and to have it all with us (like we're doing it for so many services with our Marketplace Apps).

    @Necroman: It should be possible to change your WP7-App in such a way that it should work on WP8 devices. Several Apps did this instead or reimplementing it for WP8. But for the time until such a fix arrives I agree that it would be necessary that we could block an incompatible WP7-App from installing on WP8. Guess that was not included with the Developer Center because originally Microsoft had stated that "every App will work on WP8" and it was developed by different teams.

  • Necroman
    18 Posts

    And second thing, wee need a functionality for copying description from one XAP to another. Imagine I have WP7 and WP8 xap, both with 10 languages and 8 screenshots. Now I have to fill all fields and screenshots manually, I would like to just fill the WP8 XAP fields and screenshots, press a button and all is copied to the WP7 XAP fields.

    It should not be that hard to implement this. Thanks

  • Necroman
    18 Posts

    This is quite obvious how submitting XAPs for either WP7 or WP8 works, but I have a question:

    Do you plan to provide a way, how to block apps with only WP7 XAP from installation on WP8 devices? Currently this is only available for Microsoft, OEM and some VIP customers. I have an XNA app, that is not working properly on WP8 and I have no way, how to block it from installing on such devices. And because it's XNA app, I can't update it for WP8. Rewriting it to DirectX is not an option. We really NEED this possibility to block apps with only WP7 XAP from installation on WP8 devices!

  • anatolyl
    19 Posts

    1) I have 2 xaps as described = one for wp7 and another for wp8, however when I update just wp8 xap and don't update wp7 xap - both xaps are submitted for review although there are no changes for wp7 xap in the update.

    2) You have to refine your xap download decision algorithm and wire it up to the version number somehow. Right now it works just because 7 and 8 are not backward compatible, but going forward you will have backward compatible xaps (i.e. wp9 and etc). It's better to refine your algorithm now when we still maintain just 2 xaps.

    3) You should break the download reports by the xap - right now we can't figure from the reports out how many wp7 apps were downloaded versus wp8 apps.

  • Hello,

    There is one request that I asked a long time ago, if we update to an existing app for 7.1 and a new one for 8.0, it is not possible to submit them at the same time. In some scenario, it's hard to advertise the availability of new features because we need to wait 1 week for the 7.1 certification and another week for the 8.0 certification.

    Thank you

    ArchieCoder