Back to Uno

Publishing Your App (App Packaging)

doc/articles/uno-publishing-overview.md

6.6-release-branch-cut4.0 KB
Original Source

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

PlatformFormatsSigningDistributionComplexity
WindowsMSIX, MSI, ClickOnceCertificatesMicrosoft Store, DirectMultiple formats; Store validation
macOS.app, .pkg, .dmgApple certs + notarizationApp Store, DirectMandatory notarization; complex signing
LinuxSnap, AppImage, DEB, RPMOptionalSnap Store, DirectMultiple package managers
AndroidAPK, AABKeystoreGoogle Play, DirectAAB for Play; Keystore management
iOSIPAProvisioning profilesApp Store, TestFlightStrict signing; Profile management
WebAssemblyStatic files, PWAHTTPS / CSPWeb hostingService workers; PWA manifest

What Uno Platform Provides Out of the Box

Uno Platform simplifies all of this with a unified, automated approach:

PlatformPackage FormatsCode SigningStore ReadyStatus
WindowsMSIX, ClickOnce✅ Microsoft Store✅ Available
macOS.app, .pkg, .dmg✅ App Store✅ Available
LinuxSnap✅ Snap Store✅ Available
AndroidAPK, AAB✅ Google Play✅ Available
iOSIPA✅ App Store✅ Available
WebAssemblyStatic files, PWA✅ Web hosting✅ Available

Key Features

  • Native dotnet publish Integration – 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:

bash
dotnet publish -f net10.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

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.