Skip to content

Guides

These guides are reference recipes for packaging specific kinds of software with Zero Install. They assume you've already read Concepts and skimmed the publishing tutorial, and focus on the parts of the feed that differ between platforms and runtimes: which arch, which <command>, which dependencies, which environment bindings.

Each guide is self-contained, so you can jump to the one that matches what you're packaging:

.NET apps
Cross-platform apps targeting modern .NET (.NET Core, .NET 5+) with a .dll entry point.
.NET Framework apps
Windows-only apps targeting .exe binaries built against the .NET Framework (Mono on POSIX).
Java apps
Java apps distributed as a JAR, with a JRE pulled in as a dependency.
Native Windows apps
Pre-built Windows binaries, including .exe, .zip and .msi distributions.
Native Linux apps
Pre-built Linux binaries, including tarballs, AppImages, RPMs and DEBs.
Native macOS apps
Pre-built macOS binaries, including .app bundles and .dmg images.
Cross-platform apps
How to combine OS-specific feeds into a single user-facing feed using <feed arch="...">.
Python apps
Python scripts and apps, using the bundled Python feed as a runner.
Libraries
Components meant to be consumed by other feeds rather than run directly.

What every feed needs

Regardless of platform, a publishable feed should set:

  • <name>, <summary> and <description>
  • <homepage>
  • At least one <icon> (PNG; add .ico for Windows and .icns for macOS apps that get desktop integration)
  • A license attribute on the implementation or its enclosing group
  • A <feed-for> element (in templates) pointing at the published URL

For everything else, see the feed specification.