locked
Phone WinRT 8.1 app installation issue on Windows 10 Mobile preview RRS feed

  • Question

  • Hello,

    In short, we have issues installing our Windows Phone WinRT 8.1 applications from the Store on Windows 10 Mobile preview devices, getting an 0x80073CF9 error.
    Here are the details:

    Our product:
    We build WinRT universal applications for Windows 8.1 and WindowsPhone 8.1. All our applications are built using the same Engine and same build process, only data content are changing.

    Our business strategy:
    We will keep building universal applications targeting Windows 8.1 and WindowsPhone 8.1 until "enough" of our user devices run Windows 10 and Windows 10 Mobile, in order to keep as much users as possible.
    Once enough of them will be using Windows 10 and Windows 10 Mobile, we will migrate our project to be a Windows 10 Universal project.


    The facts:
    - Windows 10 (PC) is now Released and we could successfully download, install and launch our desktop WinRT 8.1 applications without any problem. We never tried to install our applications on any preview version, we just did it on the Release version. We've read from various forums that many people had issues (with the preview of Windows 10) installing some applications, getting error 0x80073CF9. And it seems to have been fixed in the Release version.

    - Windows 10 Mobile is still in preview stage and we didn't plan to test our app on a "non-released" OS that we will not be targeting until some times.
    But things have forced us to test them on Windows 10 Mobile preview.
    Submitting Windows Phone WinRT 8.1 on the store almost every week, some packages (not all of them) failed certification, saying the app could not be downloaded or installed with error code 0x80073CF9.
    As we never had issues deploying our packages on many different Lumia devices, even on a HTC 8x device using the SDK Deployment Tool 8.1, we tried to deploy it on a Windows 10 Mobile preview and it failed!
    In order to pass certification so far, we added some notes for testers, asking not to test our app on Mobile 10 preview (we didn't changed the uploaded packages) and certification passed!
    (We also had explict failed report saying that they tested the package on a Windows 10 Mobile device.)

    Our Windows 10 Mobile test device:
    - Model: Lumia 535
    - OS: Windows Mobile 10 preview
    - OS version: 10.0.10536.1004
    - Firmware revision number: 02074.00000.15234.28005

    The package deployment/installation issue:
    First, we tried to deploy our application on Lumia 535 using Visual Studio 2013 Update 5 + Windows Phone 8.1 SDK. (Visual Studio version is 12.0.40629.00)
    And it worked fine, we could deploy, run and debug our application on this device correctly.

    Then, we tried to build a package and deploy it on this device using the SDK Deployment 8.1 Tool and we got an undetailed error saying "Error - Install failed. Please contact your software vendor.".

    Also, by browsing the Store with this 535 device, we cannot install any of our app, getting this 0x80073CF9 error each time.
    Here is "Goomeo" our main application, you can try to install it on a Windows 10 Mobile device:
    - Windows 10 Url: https://www.microsoft.com/store/apps/9nblgggzqksz
    - Windows Phone 8.1 Url: http://windowsphone.com/s?appid=b162ae2d-bc7f-4657-b63b-d45b035e6231


    Our tests:
    1 - We built a basic Hello World WinRT 8.1 universal application package and we could deploy it using SDK Deployment Tool 8.1.

    2 - We added all NuGet Packages and libraries used by our project and we could still deploy it.

    3 - We tried to add all our code to this Hello World project, and deployment failed.
    By removing pieces of code one by one, we finally made it being able to deploy. We thought we had found a clue but...
    Once we added back the code line, building the package again, deployment failed which was expected BUT by re-removing the code line and building the package, instead of having a successful deployment as before, we got the error back again. And since then, only point (2) can be safely deployed.


    We're a bit lost here, based on our tests we would think that the issue in our side, but then, this error should appear on Windows 10 (PC) too, as our desktop and phone applications use the same Engine.
    Also, WinRT and Silverlight 8.0, 8.1 applications should be compatible with Windows 10/ Mobile 10.
    By seeing the issue 0x80073CF9 fixed on Windows 10 Release, we suspect it's "just" a backward compatibility issue from Windows 10 Mobile preview.

    Our concerns point at our users.
    Until enough of them use Windows 10 and Windows 10 Mobile we will keep building applications targeting WinRT 8.1, even if it means ignoring Windows 10 / Mobile 10 for a while.


    Our questions:
    1 - Have you got any other feedback like this one before?
    2 - Do you have any clue on this error? Does it comes from our project?
    3 - If not on our side, will it be fixed on Windows 10 Mobile Release?


    Thanks for taking time to help us.

    Regards

    Friday, October 23, 2015 9:05 AM

Answers

All replies

  • No one has any idea?

    The fact that we can deploy the application from a Windows 8.1 PC using Visual Studio 2013 + WindowsPhone 8.1 SDK on our Windows Mobile 10 preview device (and run it without issues) makes me think the issue is only due to the package installation process on Windows Mobile 10.


    Thursday, November 5, 2015 3:52 PM
  • Any clue?
    Friday, November 13, 2015 2:08 PM
  • Based on the fact our WinRT 8.1 application can be deployed from Visual Studio 2013 (ran on Windows 8.1 Pro) to our Lumia 535 Windows 10 Mobile Preview, I assume our application (.exe + all .dll in the package + all assets) is compatible with Windows 10 Mobile.


    So, based on this + the fact that only package installation failed from both Application Deployment Tool 8.1 and Windows Store, I'm more than sure it comes from Windows 10 Mobile failing to read (or extract) the package content.


    I went through another phase of tests in order to isolate the problem more precisely.

    I took our whole Windows Phone WinRT 8.1 solution then:
    (Note: each time, I cleaned the whole solution content before each new compilation)
    - I removed all third party dependencies (NuGet Packages) such as WritableBitmapEx, Xing, SQLite etc...
    - I removed all (home made) C++ projects we use in the solution (DirectX related projects)
    - I removed all PCL we use
    But installation still failed.

    - I removed all views (.xaml + .xaml.cs) from WindowsPhone project (but not the ones from Shared project).
    It worked! So I rolledback my changes in order to find which view was causing this.

    When I found the view file that caused the issue, I did the following:
    - Removing all method content, and all "using" namespace statement.
    - Reduce the xaml file content to the basis (meaning having just a single grid)
    - Finally removing all methods, except for constructor and OnNavigatedTo.
    But it still failed to install. (Not that each view class only inherits from the Page class.)


    Removing this view made the package being able to be installed, so... I tried to remove another view (randomly) instead of this particular one, and... it worked!!!
    Then I added a blank view page to the project, and then installation failed again!
    (At this stage, I made a copy of the working and not working packages, I extracted their content and check all differences between them. I come back to it later.)

    I moved a random view from WindowsPhone project to Shared project, and installation worked again!
    From then, I could add most of the files I removed at the beginning of my test (NuGet packages, some PCL etc...) but at some point it failed again during installation...
    Then I stopped...

    As I said earlier, I compared 2 packages content, the only difference between them is that the one that cannot be installed has a blank view page. WinMerge highlighted 4 files to be differents:
    - Client.WindowsPhone.exe
    - resources.pri
    - AppxBlockMap.xml
    - Client.WindowsPhone.xr.xml


    I don't know which one (or more) of them is causing this installation failure on Windows 10 Mobile.
    I would think of an error while checking Hash values inside AppxBlockMap.xml, but I can't dig any deeper with the tools I have.


    If anyone from Microsoft needs materials, such as those 2 packages, I'd be glad to provide them (through private protocols).

    Monday, November 30, 2015 8:33 AM
  • Also, I wanted to add another observation.
    The package that can be installed (the one without the blank page view), could be installed 2 times over 3 attempts.

    For each test, I tried to install the package 3 times in a row (to be sure installation worked...). And I observed that sometimes, the exact same package failed installation from time to time.

    Monday, November 30, 2015 10:02 AM
  • The support told me to open a topic in another forum.
    Here is the link:
    https://social.msdn.microsoft.com/Forums/windowsapps/en-US/d0131d8a-ab24-41e2-92cd-442da83dcb00/phone-winrt-81-app-installation-issue-on-windows-10-mobile?forum=wpdevelop

    I'll update both of them according to where this problem leads us.

    Wednesday, December 2, 2015 7:48 AM
  • Issue solved!

    As explained in the newly created topic:

    https://social.msdn.microsoft.com/Forums/windowsapps/en-US/d0131d8a-ab24-41e2-92cd-442da83dcb00/phone-winrt-81-app-installation-issue-on-windows-10-mobile?forum=wpdevelop

    In short:
    * The cause: It came from an executable size limitation on the OS side. Windows 10 Mobile does not allow installation of packages with executable greater than ~2.5MB.

    * The developer solution: You need to dispatch as much code as you can in a separate DLL (WinRT Component, PCL, whatever you want).

    * The Microsoft solution: Increasing this limitation? I don't know why there is such lower limitation in first place though...

    The issue also exists on Windows Phone 8.1, it's just that the exe limitation is higher (3 to 3.5MB).

    • Edited by ChickenMythic Wednesday, December 9, 2015 7:44 AM
    • Marked as answer by ChickenMythic Wednesday, December 9, 2015 7:44 AM
    Wednesday, December 9, 2015 7:43 AM