How to Bundle Multiple Architectures for WinUI App Submission to Microsoft Store? #9450
-
Hello WinUI community, I'm currently working on developing a WinUI (Windows UI Library) application and planning to submit it to the Microsoft Store. However, unlike UWP (Universal Windows Platform) apps, where bundling for multiple architectures is automatic, I'm facing challenges in bundling my WinUI app for multiple architectures. I have developed my WinUI app to support x86, x64, and ARM64 architectures, targeting a broad range of Windows devices. However, I'm unsure about the correct approach to bundle these different architecture packages together for submission to the Microsoft Store. Could someone please provide guidance or best practices on how to bundle WinUI app packages for multiple architectures manually? Additionally, any insights or tips on optimizing the bundling process and ensuring compatibility across different Windows device types would be highly appreciated. The current output file in create packages in winui3 is something like this [Image Below ], unlike uwp is automatically bundled. https://github.com/microsoft/devhome Thank you in advance for your help and insights! |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
This is currently a known issue and one draw back of the WinUI 3 with the packaging in the same project.
|
Beta Was this translation helpful? Give feedback.
-
Thank you so much.... 1. makeappx.exeC:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\makeappx.exe 2. msix filesC:\Users\Robel\Documents\AppBundle\Bundles\Msix 3. Output .msixbundle fileC:\Users\Robel\Documents\AppBundle\Bundles\MyApp.msixbundle CMD& "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\makeappx.exe" bundle /d "C:\Users\Robel\Documents\AppBundle\Bundles\Msix" /p "C:\Users\Robel\Documents\AppBundle\Bundles\MyApp.msixbundle" FinalPS C:\Users\Robel\Desktop> & "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64\makeappx.exe" bundle /d "C:\Users\Robel\Documents\AppBundle\Bundles\Msix" /p "C:\Users\Robel\Documents\AppBundle\Bundles\MyApp.msixbundle"
Microsoft (R) MakeAppx Tool
Copyright (C) 2013 Microsoft. All rights reserved.
The path (/p) parameter is: "\\?\C:\Users\Robel\Documents\AppBundle\Bundles\MyApp.msixbundle"
The content directory (/d) parameter is: "\\?\C:\Users\Robel\Documents\AppBundle\Bundles\Msix"
Enumerating files from directory "\\?\C:\Users\Robel\Documents\AppBundle\Bundles\Msix"
Packing 1 file(s) in "\\?\C:\Users\Robel\Documents\AppBundle\Bundles\Msix" (content directory) to "\\?\C:\Users\Robel\Documents\AppBundle\Bundles\MyApp.msixbundle" (output file name).
File "\\?\C:\Users\Robel\Documents\AppBundle\Bundles\MyApp.msixbundle" already exists. Overwrite? [Y]es (any other key to skip file): y
Adding "\\?\C:\Users\Robel\Documents\AppBundle\Bundles\Msix\WinUIGallery_1.1.82.0_arm64.msix" to the bundle as a payload package. Its path in the bundle is "WinUIGallery_1.1.82.0_arm64.msix".
Bundle creation succeeded.
PS C:\Users\Robel\Desktop> Please do not delete this for future reference... |
Beta Was this translation helpful? Give feedback.
This is currently a known issue and one draw back of the WinUI 3 with the packaging in the same project.
The project type with the separate application packaging project will bundle properly. Unfortunately, you would need to use makeappx directly to bundle the separate .msix files into a .msixbundle.
It is pretty easy to bundle.
makeappx bundle /d [input_directory] /p [bundle_path].msixbundle