Skip to content

Packaging overview

To make software available through 0install, you need to publish a signed "feed" XML file on your web page. This file lists the available versions and their dependencies and says how to run the program. There are lots of ways to create this XML file.

To see an example of the XML, go to any 0install program's feed in your browser (e.g. 0export) and View Page Source.

Before you start, have a look at Concepts to make sure you understand some key terms and ideas.

I want to...

Publish an XML file for an existing binary release

  • Read the binary packaging guide. This tutorial shows how to create an XML file describing the Blender 3D-animation application. The binary archive is published by the upstream authors and requires no modifications.

Publish XML for a source release

Create an XML file describing my own software

  • Read the 0release documentation, which shows how to add a local feed to your source repository. Users can use this to run your program from a Git checkout, and you can use it to generate new releases automatically.
  • Have a look at the template projects for examples in various programming languages (Python, Java, .NET, C).

Learn more

Other useful documentation

Feed specification
The specification of the XML format.
Sample code packages which you can use as templates when creating a new program that will be distributed using 0install, or as examples for your own programs.
An index of the tools provided by the 0install project for generating feeds.


Binary distribution with 0install
Blog article describing how to make packages using the 0template command-line tool.
Compiling with SCons and GTK
Article showing how to use Zero Install in your build scripts to download the SCons build system and use it to compile your program.
Easy GTK binary compatibility
This blog article shows how to use Zero Install to compile your program against older versions of library headers than are the default on your system. Binaries created this way work on a wider range of systems (all systems with a GTK version newer than the headers). Also, since they download the required headers automatically, users don't need to have the headers already on their system in order to compile your program. The binaries produced this way do not depend on Zero Install, so you can use Zero Install as part of your build process even if you don't distribute the resulting binaries that way.