2.17 / May 4, 2020
|Operating system||Linux, Unix, macOS, Windows|
Zero Install is a means of distributing and packaging software for multiple operating systems (Unix-like including Linux and macOS, Windows).
Rather than the normal method of downloading a software package, extracting it, and installing it before it can be used (with the accompanying use of destructive updates and privilege escalation), packages distributed using Zero Install only need be run. The first time software is accessed, it is downloaded from the Internet and cached; subsequently, software is accessed from the cache. Inside the cache, each application unpacks to its own directory, as in Application Directory systems.
The system is intended to be used alongside a distribution's native package manager.
Two advantages of Zero Install over more popular packaging systems are that it is cross-platform and no root password is needed to install software; packages can be installed in system locations writable by that user instead of requiring administrator access. Thus, package installation affects only the user installing it, which makes it possible for all users to be able to install and run new software.
Moreover, the EBox sandbox can be used on top of Zero Install to securely install software and to run them in a restricted environment.
Among the disadvantages of Zero Install is the fact that applications often need a rewrite for this packager, e.g., no absolute paths may be in use, among other requirements. The quality of Zero Install repository content varies and may contain unmaintained software.
Other uses of the term "Zero Install" exist which are unrelated to a specific software project.
PaperCut software describes a "zero install strategy" for Windows networks, which involves configuring multiple terminals via methods such as a group policy, to run the client executable directly off a single share. This enables automatic updates for workstations in line with the server and avoids multiple, separate installation processes.
The Yarn package manager describes a zero-install as a philosophy which seeks to limit failures by limiting the usage of Yarn commands and therefore limiting the number of opportunities for things to go wrong.