microsoft / msix-packaging

MSIX SDK
MIT License
964 stars 163 forks source link

[BUG] Installing UWP via MSIX throws: violates pattern constraint of '\bms-resource:.{1,256}'. #527

Open pMaske opened 1 year ago

pMaske commented 1 year ago

Project MSIX SDK or Win7Msix

Describe the bug We have daily test runs for UWP test app. In Jenkins job script build a .msix for our UWP test app. But for some reason when msix is installed via vstest.console.exe I get following error. Any insight into what could be causing this error?

If I switch to .appxrecipe instead, app is deployed and run just fine. Something is weird about running .msix. Any help is appreciated.

ERROR

'PackageName.UWP' violates pattern constraint of '\bms-resource:.{1,256}'. Deployment operation failed. Failed to initialize client proxy: could not connect to test process. Closing app with package full name 'E6DA2210-BF17-46D2-9DBF-E36B22084FDA_1.0.0.0_x64__zy2ctb9gr90we'.

To Reproduce Steps to reproduce the behavior:

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Platform

Additional context Add any other context about the problem here.

anarvekar-msft commented 1 year ago

Could you please share a link to your appxmanifest file? That might better help us troubleshoot

pMaske commented 1 year ago

@anarvekar-msft here you go Package.zip

anarvekar-msft commented 1 year ago

We need either the appxmanifest.xml file or the package file

pMaske commented 1 year ago

where is appxmanifest.xml generated?

florelis commented 1 year ago

The AppxManifest.xml is generated by Visual Studio from the Package.appxmanifest. You can find it inside the resulting .msix/.appx. You can inspect the contents by running makeappx unpack app.msix or by changing the file extension to .zip (e.g. app.msix becomes app.zip) and opening the archive.

You can also probably find it in the build outputs, but I'm not sure of the exact location. You can find it with PowerShell; from the root of your project do something like Get-ChildItem -Recurse -Filter AppxManifest.xml

TimMangan commented 1 year ago

In general, the bms-resource constraint is evaluating the string value. In this case it is checking the length in addition to other things. I've never found out what, exactly,, but most of the time it is because of white space at the beginning or end of the string. So this issue here is probably with the component that generated the manifest.