What is the WAPPROJ file format?
A .wapproj file is a Windows Application Packaging Project, a Visual Studio project type Microsoft introduced in 2017. Its job is to wrap an existing desktop app (Windows Forms, WPF, or classic Win32) so it can be built into an .msix package. This is part of the Desktop Bridge, which lets a traditional Win32 program be packaged and distributed like a modern Windows app.
The file is plain-text XML in the MSBuild format. It holds no application code of its own. Instead it imports the Desktop Bridge build targets and references three things: your desktop app project, the Package.appxmanifest that describes the package, and the visual assets kept in an Images folder. You add the packaging project to a solution, point a project reference at the app you want to package, and mark one executable as the entry point when several are included.
Security & safety
RISK: LOWA .wapproj is a plain-text XML MSBuild project. It contains no executable code of its own, though like any MSBuild file it can define build targets and pre/post-build commands, so only build projects from sources you trust. The file is harmless to open and read in a text editor.
Format details
in a nutshellPrograms that open WAPPROJ files
.wapproj loads as a Windows Application Packaging Project where you can edit the manifest, add references, and run the Create App Packages wizard. msbuild YourProject.wapproj /p:UapAppxPackageBuildMode=SideLoadOnly /p:AppxBundle=Never, with the UWP build tools and Windows SDK components installed. .wapproj as plain XML to inspect or hand-edit the MSBuild properties, imports, and project references. Technical details
deep spec| Encoding | UTF-8 text |
| Byte order | N/A (text file) |
| Container | MSBuild XML project |
| Typical size | 2-20 KB |
| Structure | An MSBuild project file whose root <Project> element imports the Desktop Bridge / Windows Application Packaging targets and props (for example Microsoft.DesktopBridge.props and Microsoft.DesktopBridge.targets). It declares a <ProjectGuid>, <TargetPlatformVersion> and <TargetPlatformMinVersion>, references the packaged desktop app(s) as <ProjectReference> items, and lists the Package.appxmanifest and the visual assets in the Images folder. Building it produces an MSIX/APPX package or bundle. |
| Integrity | None built into the project file; the produced MSIX/APPX package is digitally signed. |
| Platforms | Windows 10 (1607+), Windows 11 |
| Notes | The .wapproj itself contains no application code. It sits inside a Visual Studio solution (.sln) alongside the desktop app project (.csproj or .vcxproj), and its only job is to configure and generate a deployable package. Requires the desktop app to target Windows 10 Anniversary Update (10.0; Build 14393) or later. Can bundle multiple executables into one package, with one marked as the entry point. |
| Released | 2017 |
| Specification | learn.microsoft.com |
WAPPROJ conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about WAPPROJ files.
Frequently asked questions
How do I open a .wapproj file?
.sln) that contains it in Visual Studio 2017 15.5 or later. The packaging project loads automatically. You can also open the file in any text editor to view its XML.Why don't I see the Windows Application Packaging Project template?
Can I build a .wapproj without opening Visual Studio?
msbuild from the Developer Command Prompt or Visual Studio Build Tools, passing properties such as /p:UapAppxPackageBuildMode and /p:AppxBundle. You still need the UWP build tools and Windows SDK installed.What does a .wapproj file actually contain?
Package.appxmanifest, and the visual assets. It holds no application code.Do I still need a .wapproj for WinUI 3 apps?
.csproj. A separate packaging project is mainly for combining multiple executables into one package.