WP7 app update and NeutralResourcesLanguage

The Windows Phone Marketplace was updated with new features in July 2011, one has to do with default language. The previous process to submit an app required you to define the default language when submitting the app, the new version checks the default language in the uploaded xap.

The problem

An app created before July 18th 2011 will not have the AssemblyInfo attribute NeutralResourcesLanguage and submitting an update to this app will give you the error:

Error 2003: The [NeutralResourceLanguage] attribute is missing on the entry assembly.

The fix

So, the fix for this is simple – add the attribute in AssemblyInfo.cs. (can also be done through selecting in a drop down in app properties)

[assembly: NeutralResourcesLanguage("en-us")]

The quirk

English it not always English. There is something called location groups. If you’re lucky – you’ll now pass through submission. If you’re not, you’ll end up with:

Error 1047: An update cannot support fewer languages than the previous app instance supported.

Whoah, what is this? For me, this was because I had stated the language as English (International) when submitting the first time. The rules are:

Stated on first submit Needed in AssemblyInfo.cs
English (International) “en”
English “en-us” or “en-ca”

 

I learned this from the MSDN forum page helpful tips on language processes during app submission. To quote: If the parent instance was marked as “English (International)”, you need to use [NeutralResourcesLanguage(“en”)], if it was “English”, use [NeutralResourcesLanguage(“en-US”)] or [NeutralResourcesLanguage(“en-CA”)], in other cases use two-letter language name.

Summary

My final statement ended up as:

[assembly: NeutralResourcesLanguage("en-us")]

This bit me when submitting updates – I really hope this helps you avoid or find the problem quickly Smile

Bye!

This Post Has 2 Comments

  1. Forgive me, I’ve only had three cups of coffee so far today (my brain don’t work on full RPMs until after my fourth), but this is only a problem with previously submitted apps which have the language already specified, correct?

    In other words, if you’re creating a brand new app, you should/will be ok. BUT! If you’re doing an update, WATCH OUT, AND READ THIS! I to got burned by the above “Gotcha!” and took a little while reading links/blogs. Thank you for the confirmation AND the heads up on the “when is english NOT REALLY english!” That one will (yours info above) will save A LOT of people A LOT of time!

    Keep’em coming!

  2. Thanks for the praise!
    You are absolutely right, this only applies to “old” projects (pre-Mango) where you had to state the language during submit. When creating a new Mango app and then submitting that, this will not be a problem at all.

Leave a Reply

Close Menu