This sample demonstrates how to use winapp CLI with a Tauri application to add package identity, use Windows APIs, and package as MSIX.
For a complete step-by-step guide, see the Tauri Getting Started Guide.
- Tauri desktop application (Rust + vanilla HTML/JS)
- Using Windows
ApplicationModelAPIs from Rust to retrieve package identity - Sending Windows toast notifications via
windows::UI::Notifications - Conditionally enabling UI features based on package identity status
- MSIX packaging with app manifest and assets
- Tauri prerequisites (Rust, system dependencies)
- Node.js
- winapp CLI installed via winget:
winget install Microsoft.winappcli --source winget
# Install npm dependencies
npm install
# Generate a dev certificate (first time only)
winapp cert generate --if-exists skip# Build the Rust backend
cargo build --manifest-path src-tauri/Cargo.toml
# Stage the exe (the target\debug folder contains build artifacts that aren't needed)
mkdir -Force dist | Out-Null
copy .\src-tauri\target\debug\tauri-app.exe .\dist\
# Run with identity
winapp run .\distOr use the npm script which does all of the above:
npm run tauri:dev:withidentityThe Tauri window will display the Package Family Name. The "Send Notification" button is enabled only when the app has package identity — click it to send a Windows toast notification.
npm run pack:msixThis builds in release mode, stages the exe to dist/, and packages+signs it. Then install:
# Install certificate (first time only, requires admin)
winapp cert install .\devcert.pfxDouble-click the generated .msix file to install. The app will be available in your Start Menu.