Which platforms does Zero Install support and can I mix stable and experimental apps?
Updated
Zero Install runs on Linux, Windows, and macOS, and it explicitly supports mixing stable and experimental applications on a single system. It is fully open source, and you can control it either from a command line or a graphical interface. If you want to try experimental builds of an app without disturbing the stable version you rely on, this is a supported scenario rather than a workaround.
Platform support
Zero Install is described as a decentralised cross-platform software installation system, and the supported platforms are stated directly:
- Linux
- Windows
- macOS
Because it is cross-platform, a single package can be created to work on multiple platforms. That matters if you distribute software yourself: you publish one package rather than maintaining separate installers per operating system.
The Windows side has its own release cadence, with recent versions tracked in the project news. For example, Zero Install for Windows 2.29.0 replaced a fallback to an external solver with a built-in SAT solver and added support for arm64ec, while 2.28.2 raised the minimum .NET Framework version to 4.8. If you are on Windows, check the current release notes before assuming a specific framework version is sufficient.
Mixing stable and experimental apps
The site states that you can "mix and match stable and experimental apps on a single system." In practice this means the version you select for one application does not force the same choice on another. You can keep a stable release for daily work and point a different app — or a separate selection of the same app — at an experimental build.
This is possible because Zero Install does not perform a traditional system-wide installation. Applications run without being installed first, and each app's dependencies are handled separately. That separation is what allows different stability levels to coexist.
Why the isolation holds
Two mechanisms support this:
- Dependency handling. Zero Install resolves and manages dependencies for each app, so two apps are not forced to share one global set of libraries.
- Library sharing without mutual trust. Apps can share libraries without having to trust each other, so sharing a dependency does not mean one app gains authority over another.
What "no install" means for control
Running an app without installing it first is the core behaviour, and it changes what you can inspect and undo:
- You do not have to guess what happens during installation, because there is no conventional installation step modifying your system.
- Installing an app does not grant it administrator access.
- Digital signatures are always checked before new software is run.
The signature check is the gate before execution, so an app whose signature does not verify is not run. Combined with the lack of administrator access, this limits what a newly added app can do to your machine.
Choosing between CLI and GUI
Both control paths are offered, and the choice is mostly about workflow:
| Approach | Better suited to |
|---|---|
| Command line | Scripting, repeatable setups, remote or headless machines |
| Graphical interface | Browsing and launching apps, one-click running |
The site advertises running apps with a single click, which is the graphical path. If you prefer to script or automate, the command-line interface exposes the same control.
Distribution and updates
If you are evaluating Zero Install as a way to ship software rather than just consume it:
- You create one package that works on multiple platforms.
- You can publish on any static web host, with no central point of control.
- Dependency handling and automatic updates are built in.
The decentralised model means there is no single registry you must go through, which is also why the security model leans on signature verification rather than a central authority.
Practical checklist before you commit
- Confirm your OS is Linux, Windows, or macOS.
- On Windows, check the current release notes for framework requirements and architecture support (for example, arm64ec support arrived in 2.29.0).
- Decide whether you want the command line, the graphical interface, or both.
- If you plan to mix stable and experimental apps, verify the specific app's available versions rather than assuming every app publishes both.
- If you distribute software, confirm your hosting is a static web host you control.
The main caveat is version-specific: platform support is broad, but Windows requirements have shifted across releases, so treat the release notes as the source of truth for your machine rather than any general statement about Windows support.