Zero Install is a means of distributing and
packaging
Packaging is the science, art and technology of enclosing or protecting products for distribution, storage, sale, and use. Packaging also refers to the process of designing, evaluating, and producing packages. Packaging can be described as a co ...
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
for multiple operating systems (
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
including
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and lapt ...
,
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
).
Software
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 update
In computing, a persistent data structure or not ephemeral data structure is a data structure that always preserves the previous version of itself when it is modified. Such data structures are effectively immutable, as their operations do not ( ...
s and
privilege escalation
Privilege escalation is the act of exploiting a bug, a design flaw, or a configuration oversight in an operating system or software application to gain elevated access to resources that are normally protected from an application or user. The res ...
), packages distributed using Zero Install only need be run. The first time software is accessed, it is downloaded from the
Internet
The Internet (or internet) is the global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a '' network of networks'' that consists of private, pub ...
and cached; subsequently, software is accessed from the cache. Inside the cache, each application unpacks to its own directory, as in
Application Directory
An application directory is a grouping of software code, help files and resources that together comprise a complete software package but are presented to the user as a single object.
They are currently used in RISC OS and the ROX Desktop, and a ...
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
In computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several computing platforms. Some cross-platform software r ...
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
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.
See also
*
Application virtualization
Application virtualization is a software technology that encapsulates computer programs from the underlying operating system on which they are executed. A fully virtualized application is not installed in the traditional sense, although it is stil ...
*
Portable application creators Portable application creators allow the creation of portable applications (also called portable apps). They usually use application virtualization.
Creators of independent portable
No agent or client is required for these (also called "agentless" ...
*
Java Web Start
In computing, Java Web Start (also known as JavaWS, javaws or JAWS) is a deprecated framework developed by Sun Microsystems (now Oracle) that allows users to start application software for the Java Platform directly from the Internet using a web br ...
*
Advanced Packaging Tool
Advanced package tool, or APT, is a free-software user interface that works with core libraries to handle the installation and removal of software on Debian, and Debian-based Linux distributions. APT simplifies the process of managing software ...
*
Listaller
Listaller is a free software, free computer software installation system (similar to a package management system) aimed at making it simple to create a package that can be installed on all Linux distributions as well as providing tools and API to ...
*
*
Autopackage
Autopackage is a free software, free computer package management system aimed at making it simple to create a package that can be installed on all Linux distributions, created by Mike Hearn around 2002.
In August 2010, Listaller and Autopackage ...
*
AppImage
AppImage is a format for distributing portable software on Linux without needing superuser permissions to install the application. It tries also to allow Linux distribution-agnostic binary software deployment for application developers, als ...
*
ROX Desktop
The ROX Desktop is a graphical desktop environment for the X Window System. It is based on the ROX-Filer which is a drag and drop spatial file manager. It is free software released under the GNU General Public License. The environment was ins ...
*
ClickOnce
ClickOnce is a component of Microsoft .NET Framework 2.0 and later, and supports deploying applications made with Windows Forms or Windows Presentation Foundation. It is similar to Java Web Start for the Java Platform or Zero Install for Linux.
...
*
*
XAML Browser Applications
XAML Browser Applications (XBAP, pronounced "ex-bap") are Windows Presentation Foundation (.xbap) applications that are hosted and run inside a web browser such as Firefox or Internet Explorer. Hosted applications run in a partial trust sandbox en ...
(XBAP)
*
Progressive Web Apps
Progressive may refer to:
Politics
* Progressivism, a political philosophy in support of social reform
** Progressivism in the United States, the political philosophy in the American context
* Progressive realism, an American foreign policy par ...
*
GNU Guix
GNU Guix () is a functional cross-platform package manager and a tool to instantiate and manage Unix-like operating systems, based on the Nix package manager. Configuration and package recipes are written in Guile Scheme. GNU Guix is the default ...
References
External links
*
*
*
*
*
*
{{Linux package management systems
Cross-platform software
Free package management systems
Software distribution