Search code examples
windows-phone-8.1windows-store-appsmdm

Error uploading app to Windows Store with WindowsPhoneReservedAppInfo.xml file


We have referred to this MSDN article for help on locking down the hardware buttons on our device.

The article is pretty straightforward and I managed to generate a prov.xml file with the help of our manufacture however when we try and upload our app to the Windows Store we get the following error:

Package acceptance validation error: File WindowsPhoneReservedAppInfo.xml is invalid: The 'Id' attribute is invalid - The value 'ID_CAP_ENTERPRISE_SHARED_DATA' is invalid according to its datatype 'http://schemas.microsoft.com/phone/2013/windowsphonereservedappinfo:ST_SoftwareCapability' - The Enumeration constraint failed.

I would have thought we would be required to include the WindowsPhoneReservedAppInfo.xml as described in the article above so that when we download the app we can lockdown the hardware buttons.

It's worth noting that if you don't have this file and attempt to lockdown you get the following error:

Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

For anyone interested in the code that does the lockdown here it is (although the code works I just thought I would try and give a bit of context):

Dim _GUID As Guid = Windows.Embedded.DeviceLockdown.DeviceLockdownProfile.GetCurrentLockdownProfile()

If Windows.Embedded.DeviceLockdown.DeviceLockdownProfile.GetLockdownProfileInformation(_GUID).Name <> "Associate" Then
    For Each G As Guid In Windows.Embedded.DeviceLockdown.DeviceLockdownProfile.GetSupportedLockdownProfiles()
        If (Windows.Embedded.DeviceLockdown.DeviceLockdownProfile.GetLockdownProfileInformation(G).Name.Equals("Associate", StringComparison.CurrentCultureIgnoreCase)) Then
            Await Windows.Embedded.DeviceLockdown.DeviceLockdownProfile.ApplyLockdownProfileAsync(G)
        End If
    Next
End If

Catch ex As Exception
End Try

We use the role Associate in the prov.xml file. The prov.xml file does lockdown the device as we want it too and that only works if we have the WindowsPhoneReservedAppInfo.xml file as described in the MSDN article so I can't understand why we can't upload to the Windows Store.

Does anyone have any ideas on how I should be uploading our app to the Windows Store?


Solution

  • I've spoken with our manufacturer and they have said this:

    I have a strong feeling this cannot be used in a store app due to Microsoft rules…. So it looks like you can only use this in an Enterprise signed application (Which you then side load onto the device or download using a MDM).

    ID_CAP_ENTERPRISE_SHARED_DATA

    That being the case I will have to look into MDM.