AppAttach and Package Name length

%3CLINGO-SUB%20id%3D%22lingo-sub-1561687%22%20slang%3D%22en-US%22%3EAppAttach%20and%20Package%20Name%20length%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1561687%22%20slang%3D%22en-US%22%3E%3CP%3EIf%20the%20original%20MSIX%20package%20name%20is%20too%20long%2C%20the%20staging%20will%20fail%20due%20to%20file%20path%20length%20limitations.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThis%20limit%20seems%20to%20come%20into%20play%20with%20the%20junction%20point.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EIf%20%22C%3A%5Ctemp%5CAppAtach%5C%22%20is%20used%20as%20a%20base%20folder%2C%20that%20is%2018%20characters.%3C%2FP%3E%0A%3CP%3EIf%20the%20MSIX%20Packaging%20Tool%20was%20used%20to%20create%20the%20initial%20package%20with%20a%20Package%20Name%20of%20%22N%22%20characters%2C%20this%20results%20in%20a%20package%20root%20folder%20equivalent%20of%2018%20%2B%203*(N%2B31).%3C%2FP%3E%0A%3CP%3EThis%20leaves%20around%2047%20characters%20for%20the%20original%20package%20name.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EI%20am%20writing%20this%20for%20two%20reasons%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ETo%20warn%20folks%20now.%3C%2FLI%3E%0A%3CLI%3ETo%20suggest%20that%20this%20is%20unnecessarily%20limiting%20and%20perhaps%20the%203*(N%2B31)%20might%20get%20addressed%20in%20the%20product%20before%20GA.%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1570089%22%20slang%3D%22en-US%22%3ERe%3A%20AppAttach%20and%20Package%20Name%20length%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1570089%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F146612%22%20target%3D%22_blank%22%3E%40TIMOTHY%20MANGAN%3C%2FA%3E%26nbsp%3Blooking%20to%20leverage%20you%20expertise%20here.%20What%20if%20in%20the%20product%20version%20we%20do%20not%20need%20a%20junction%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1570455%22%20slang%3D%22en-US%22%3ERe%3A%20AppAttach%20and%20Package%20Name%20length%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1570455%22%20slang%3D%22en-US%22%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Ftechcommunity.microsoft.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F195573%22%20target%3D%22_blank%22%3E%40Stefan%20Georgiev%3C%2FA%3E%26nbsp%3BIt%20looks%20to%20me%20like%20that%20would%20knock%20things%20down%20to%202*(N%2B31)%2C%20which%20should%20be%20fine%20for%20most%20folks.%26nbsp%3B%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWe%20may%20need%20to%20advise%20shorter%20package%20names%20overall%20anyway%20unless%2Funtil%20the%20MSIX%20runtime%20injects%20the%20longer%20%5C%5C%3F%5C%5CC%3A%5CProgram%20Files%5CWindowsApps%5C(N)%5CVFS%20style%20longer%20paths%20on%20all%20File%20API%20calls.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ETim%3C%2FP%3E%3C%2FLINGO-BODY%3E
MVP

If the original MSIX package name is too long, the staging will fail due to file path length limitations.

 

This limit seems to come into play with the junction point.

 

If "C:\temp\AppAtach\" is used as a base folder, that is 18 characters.

If the MSIX Packaging Tool was used to create the initial package with a Package Name of "N" characters, this results in a package root folder equivalent of 18 + 3*(N+31).

This leaves around 47 characters for the original package name.

 

I am writing this for two reasons:

  • To warn folks now.
  • To suggest that this is unnecessarily limiting and perhaps the 3*(N+31) might get addressed in the product before GA.

 

 

 

2 Replies

@TIMOTHY MANGAN looking to leverage you expertise here. What if in the product version we do not need a junction?

@Stefan Georgiev It looks to me like that would knock things down to 2*(N+31), which should be fine for most folks.  

 

We may need to advise shorter package names overall anyway unless/until the MSIX runtime injects the longer \\?\\C:\Program Files\WindowsApps\(N)\VFS style longer paths on all File API calls. 

 

Tim