Publishing Your App (App Packaging)
Uno Platform provides integrated, automated packaging for every supported platform, covering desktop, mobile, web, and embedded, with no third-party tools or extra setup required.
Packaging is part of the standard .NET publish workflow, so you can go from code to distributable packages in a single command.
Why It Matters
App packaging is the bridge between a working build and an installable application. Each OS has unique signing, metadata, and distribution requirements, which can make deployment complex for cross-platform projects.
Typical tasks include:
- Building and publishing binaries
- Generating assets and manifests
- Applying code signing and notarization
- Assembling installable formats (MSIX, .app, APK, IPA, etc.)
- Preparing for distribution or app store submission
Traditionally, .NET developers rely on custom scripts or third-party tools to manage this complexity. Uno Platform automates it out of the box.
The Broader Platform Packaging Ecosystem
| Platform | Formats | Signing | Distribution | Complexity |
|---|---|---|---|---|
| Windows | MSIX, MSI, ClickOnce | Certificates | Microsoft Store, Direct | Multiple formats; Store validation |
| macOS | .app, .pkg, .dmg | Apple certs + notarization | App Store, Direct | Mandatory notarization; complex signing |
| Linux | Snap, AppImage, DEB, RPM | Optional | Snap Store, Direct | Multiple package managers |
| Android | APK, AAB | Keystore | Google Play, Direct | AAB for Play; Keystore management |
| iOS | IPA | Provisioning profiles | App Store, TestFlight | Strict signing; Profile management |
| WebAssembly | Static files, PWA | HTTPS / CSP | Web hosting | Service workers; PWA manifest |
What Uno Platform Provides Out of the Box
Uno Platform simplifies all of this with a unified, automated approach:
| Platform | Package Formats | Code Signing | Store Ready | Status |
|---|---|---|---|---|
| Windows | MSIX, ClickOnce | ✅ | ✅ Microsoft Store | ✅ Available |
| macOS | .app, .pkg, .dmg | ✅ | ✅ App Store | ✅ Available |
| Linux | Snap | ✅ | ✅ Snap Store | ✅ Available |
| Android | APK, AAB | ✅ | ✅ Google Play | ✅ Available |
| iOS | IPA | ✅ | ✅ App Store | ✅ Available |
| WebAssembly | Static files, PWA | ✅ | ✅ Web hosting | ✅ Available |
Key Features
- Native
dotnet publishIntegration – No separate tools required. Works with your CI/CD pipelines. - Cross-Platform Build Support – Build Windows packages from Linux or macOS, and vice versa.
- Advanced Publishing Options – Self-contained deployments, single-file packaging, Native AOT (where supported).
- Automated Everything – Manifest generation, asset resizing, signing, and platform-specific optimization.
Example command for Android AAB:
dotnet publish -f net9.0-android -p:AndroidPackageFormat=aab
The same command pattern applies to Windows, macOS, Linux, iOS, and WebAssembly.
Preparing
Before publishing, make sure your app is optimized:
Platform-Specific Guides
- Packaging for Desktop (
netX.0-desktop) - Packaging for WebAssembly (
netX.0-browserwasm) - Packaging for iOS (
netX.0-ios) - Packaging for Android (
netX.0-android) - Packaging for Windows App SDK (
netX.0-windows10.yyy)
Continuous Integration
Uno Platform provides built-in CI integrations for Azure DevOps and GitHub Actions, included as part of the Uno Platform project templates. These pipelines include ready-to-use packaging steps for all supported platforms.