But for all other kinds of desktop app, continue reading this topic.
You can use the Windows Application Packaging Project project in Visual Studio to generate a package for your desktop app. Then you can distribute your package to the Microsoft Store, on the Web, in your enterprise or any other distribution mechanism you're using.
Required Visual Studio version and workload
The Windows Application Packaging Project project is available in Visual Studio 2017 15.5 and later.
To see the Windows Application Packaging Project template in the 'Add New Project' menu, you need to make sure you have at least one of the following the Visual Studio workloads installed:
The 'Universal Windows Platform development' workload
The Optional Component 'MSIX Packaging Tools' in the NET Core workload.
The Optional Component 'MSIX Packaging Tools' in the .NET desktop development workload.
For the best experience we recommend that you use the latest Visual Studio release.
Important
The Windows Application Packaging Project project in Visual Studio is supported on Windows 10, version 1607, and later. It can only be used in projects that target Windows 10 Anniversary Update (10.0; Build 14393) or a later release.
Here are a few other things you can do from the Visual Studio Application Packaging Project:
✔️ Automatically generate visual assets.
✔️ Make changes to your manifest using a visual designer.
✔️ Generate your package or bundle using a wizard.
✔️ (If publishing to the Microsoft Store) Easily assign an identity to your application from a name that you've already reserved in Partner Center.
Set up the Windows Application Packaging Project in your solution
In Visual Studio, open the solution that contains your desktop application project.
Note
If you want to package your project in x64 configuration, make sure you have configured referenced project to x64. To confirm this, refer to [Additional notes](#Additional notes) below.
Add a Windows Application Packaging Project project to your solution, choosing the appropriate language (C# or C++) that matches the language of your existing dekstop app's project.
You won't have to add any code to the packaging project. Its purpose is only to generate and configure a package for you. We'll refer to this project as the packaging project.
Set the Target Version of this project to any version that you want, but make sure to set the Minimum Version to not lower than Windows 10 Anniversary Update.
Set the Windows Application Packaging Project project as the startup project (right-click on the project, and select Set as StartUp Project).
In Solution Explorer, right-click the Dependencies folder under the packaging project and choose Add Project Reference....
Choose your desktop application project, and then choose the OK button.
You can include multiple desktop applications in your package, but only one of them can start when users choose your app tile. In the Applications node, right-click the application that you want users to start when they choose the app's tile, and then choose Set as Entry Point.
Build the packaging project to ensure that no errors appear. If you receive errors, open Configuration Manager and ensure that your projects target the same platform.
Use the Create App Packages wizard to generate an MSIX package/bundle or an .msixupload/.appxupload file (for publishing to the Microsoft Store).
Additional notes
To build WAP for x64 platform, follow either of the following steps:
Approach 1: Before adding the WAP project on any of the project, add x64 architecture via configuration manager (as shown in the screenshot below).
Approach 2: For the existing projects where WAP has been added,
Remove the x64 entries from .sln files entry manually.
Learn how to deliver applications by using MSIX app attach. MSIX app attach is an application delivery technology that separates applications and their state from the operating system and assigns applications to users dynamically.