This sample demonstrates how to use winapp CLI with a WPF application to add package identity and package as MSIX.
For a complete step-by-step guide, see the .NET Getting Started Guide - the same steps apply to WPF, WinForms, and other .NET UI frameworks.
- WPF desktop application with modern UI
- Using Windows Runtime APIs to retrieve package identity
- Using Win2D (
Microsoft.Graphics.Win2D) — a third-party WinRT component that requires activatable class registration - NuGet package references (
Microsoft.WindowsAppSDK,Microsoft.Windows.SDK.BuildTools,Microsoft.Graphics.Win2D) added directly to.csproj - Configuring MSBuild to automatically apply debug identity after building in Debug configuration
- Using Windows App SDK via NuGet for modern Windows APIs
- MSIX packaging with app manifest and assets
- .NET 10.0 SDK
- winapp CLI installed via winget:
winget install Microsoft.winappcli --source winget
Run winapp init in this directory. It auto-detects the .csproj and runs the .NET-specific setup flow:
winapp initThis will validate the TargetFramework, add required NuGet packages to the .csproj, and generate the manifest, assets, and development certificate. No winapp.yaml is needed for .NET projects.
The .csproj is configured to automatically apply debug identity when building in Debug configuration:
dotnet runThe WPF window will display:
Package Family Name: wpf-app.debug_12345abcde
Windows App Runtime Version: 1.8-stable (1.8.0)
Win2D: <GPU device description>
The Win2D line confirms that CanvasDevice was activated successfully, which requires the InProcessServer entries for Microsoft.Graphics.Canvas.dll to be registered.
Note: Win2D requires a platform-specific build (not AnyCPU). Use
-r win-x64or-r win-arm64when building or packaging.
The .csproj is also configured to automatically package when building in Release mode:
# Create a dev certificate (first time only)
winapp cert generate --if-exists skip
# Build and package in one command
dotnet build -c Release
# Install certificate (first time only, requires admin)
winapp cert install .\devcert.pfx
# Install the generated MSIX
# The .msix file will be in the root directoryDouble-click the .msix file to install. The app will be available in your Start Menu and can be launched like any other installed app.