Hello,
I am developing a cross-platform project using Xamarin.Forms that targets all 3 platforms (8.0 for Windows Phone). The WP app is working fine, deploying it on actual devices (either via Visual Studio or using Windows Phone Power Tools) works as expected.
However, after uploading the XAP (Release config, either Any CPU or ARM) to the Windows Phone Store, passing approval, and trying to install it from there, I'm not able to install it. It downloads, but when it's almost done installing, an error message shows up (no error code is given):
"We're having trouble installing this app. Tap and hold the item, then tap retry."
I have tried installing the app on 4 different devices - both on 8.0 and 8.1, different manufacturers as well (Nokia and HTC). I've also tried downloading the XAP and installing it via the SD card, to the same effect.
I've already talked with the MS Customer Support, and they confirmed the issue, but said they are "unfortunately not properly equipped to assist with technical issues during development.".
So, my question is - has anyone experienced this issue with Windows Phone Store? If so, what was the cause and solution?
I'm going to provide as many details as I can about what the app is using in terms of libraries, components and overall structure. Before I do that, I'd like to point out I've followed all the Windows-specific guides from both MS and Xamarin regarding the app structure, XF initialization and WP Store preparations. I'm using Visual Studio 2013 Professional Update 4.
The app solution is as following (including the referenced NuGet packages and Xamarin components; I check for stable updates every day):
1. PCL project (XAML and shared code)
* Json.NET @ 6.0.5
* Xamarin.Forms @ 1.3.4.6332
* Xamarin.Forms.Maps @ 1.3.4.6332
* Xamarin.Insights @ 1.7.3.98
2. iOS project
* Xamarin.Forms @ 1.3.4.6332
* Xamarin.Forms.Maps @ 1.3.4.6332
* Xamarin.Insights @ 1.9.1.107
* Facebook iOS SDK @ 3.23.0
* Xamarin.Mobile @ 0.7.5
3. Android project
* Facebook SDK for Xamarin @ 3.22.0.0
* Xamarin Google Play Services Binding @ 22.0.0.2
* Xamarin Support Library v13 @ 21.0.3.0
* Xamarin Support Library v4 @ 21.0.3.0
* Xamarin Support Library v7 AppCompat @ 21.0.3.0
* Xamarin Support Library v7 MediaRouter @ 21.0.3.0
* Xamarin.Forms @ 1.3.4.6332
* Xamarin.Forms.Maps @ 1.3.4.6332
* Xamarin.Insights @ 1.9.1.107
* Facebook Android SDK @ 3.22.0.0
* Google Cloud Messaging Client @ 1.0
* Xamarin.Mobile @ 0.7.5
4. WP project
* Facebook @ 6.8.0
* Windows Phone Toolkit @ 4.2013.08.16
* Xamarin.Forms @ 1.3.4.6332
* Xamarin.Forms.Maps @ 1.3.4.6332
* Xamarin.Insights @ 1.9.1.107
* Xamarin.Mobile @ 0.7.5 (referenced manually from Components/xamarin.mobile-0.7.5/lib/wp8)
5. Shared project (for the implementation using Xamarin.Mobile and Facebook [iOS and Android only] components)
The Windows app manifest file is as follows (with some information redacted):
<?xml version="1.0" encoding="utf-8"?>
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
<DefaultLanguage xmlns="" code="nb-NO" />
<App xmlns="" ProductID="---" Title="---" RuntimeType="Silverlight" Version="1.1.0.0" Genre="apps.normal" Author="---" Description="---" Publisher="---" PublisherID="---">
<IconPath IsRelative="true" IsResource="false">IconWP.png</IconPath>
<Capabilities>
<Capability Name="ID_CAP_NETWORKING" />
<Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
<Capability Name="ID_CAP_MAP" />
<Capability Name="ID_CAP_IDENTITY_DEVICE" />
<Capability Name="ID_CAP_LOCATION" />
<Capability Name="ID_CAP_ISV_CAMERA" />
<Capability Name="ID_CAP_PHONEDIALER" />
<Capability Name="ID_CAP_PUSH_NOTIFICATION" />
</Capabilities>
<Tasks>
<DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
</Tasks>
<Tokens>
<PrimaryToken TokenID="PhoneApp1Token" TaskName="_default">
<TemplateFlip>
<SmallImageURI IsRelative="true" IsResource="false">IconWP.png</SmallImageURI>
<Count>0</Count>
<BackgroundImageURI IsRelative="true" IsResource="false">IconWP.png</BackgroundImageURI>
<Title>---</Title>
<BackContent></BackContent>
<BackBackgroundImageURI></BackBackgroundImageURI>
<BackTitle></BackTitle>
<DeviceLockImageURI></DeviceLockImageURI>
<HasLarge></HasLarge>
</TemplateFlip>
</PrimaryToken>
</Tokens>
<Extensions>
<!-- Dev build -->
<Protocol Name="msft-xxx" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" />
<!-- Production build -->
<Protocol Name="msft-yyy" NavUriFragment="encodedLaunchUri=%s" TaskID="_default" />
</Extensions>
<ScreenResolutions>
<ScreenResolution Name="ID_RESOLUTION_WVGA" />
<ScreenResolution Name="ID_RESOLUTION_WXGA" />
<ScreenResolution Name="ID_RESOLUTION_HD720P" />
</ScreenResolutions>
</App>
</Deployment>
As you can see, the default language for the app is Norwegian. The result XAP has the resources dll in a "nb" folder. I also double-checked whether it contains all the referenced DLLs.
I'd also like to point out the solution for the app was created in October 2014, when the latest stable Xamarin.Forms version was 1.2.3. The template I used was Xamarin.Forms portable. Since then, I made two significant changes to the solution:
1. Added a shared project (manually, editing the .sln file)
2. Migrated the iOS project to IOS Unified (in Visual Studio)