Zero Install
Encyclopedia
Zero Install is a means of distributing and packaging
Software package (installation)
In package management systems, which are commonly used with Linux-based operating systems, a package is a specific piece of software which the system can install and uninstall....

 software for multiple operating systems (Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 and Unix-like
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

, MacOS X, and Windows). Many distributions offer it as an additional non-default component.

Design

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
Privilege escalation
Privilege escalation is the act of exploiting a bug, design flaw or configuration oversight in an operating system or software application to gain elevated access to resources that are normally protected from an application or user...

), packages distributed using Zero Install need only be run. The first time software is accessed, it is downloaded from the Internet
Internet
The Internet is a global system of interconnected computer networks that use the standard Internet protocol suite to serve billions of users worldwide...

 and cached; subsequently, software is accessed from the cache. Programs are accessed by the fully qualified name of their URL; for example one would not run "myeditor textfile.txt", but "http://www.example.org/edit textfile.txt". Inside the cache, each application unpacks to its own directory, as in Application Directory
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....

 systems.

The system is implemented as a Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...

 program, called the Injector (a reference to Dependency injection
Dependency injection
Dependency injection is a design pattern in object-oriented computer programming whose purpose is to improve testability of, and simplify deployment of components in very large software systems....

). The system is intended to be used alongside a distribution's native package manager.

The main advantage of Zero Install over more popular packaging systems is that no root password is needed to install software; packages can be installed in system locations writable by that user. 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.

See also

  • Application virtualization
    Application Virtualization
    Application virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by encapsulating them from the underlying operating system on which they are executed. A fully virtualized application is not installed in...

  • Portable application creators
    Portable application creators
    Portable application creators allow the creation of portable applications . They usually use application virtualization.- Creators of independent portable applications :...

  • Java Web Start
    Java Web Start
    In computing, Java Web Start is a framework developed by Sun Microsystems that allows users to start application software for the Java Platform directly from the Internet using a web browser....

  • Autopackage
    Autopackage
    Autopackage is a free computer package management system aimed at making it simple to create a package that can be installed on all Linux distributions.In August 2010, Listaller and Autopackage announced that the projects will merge....

  • Klik
  • RUNZ
  • ROX Desktop
    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 inspired by the user interface of RISC OS...

  • ClickOnce
    ClickOnce
    ClickOnce is a Microsoft technology that enables the user to install and run a Windows application by clicking a link in a web page. ClickOnce is a component of Microsoft .NET Framework 2.0 and later, supports deploying applications made with Windows Forms or Windows Presentation Foundation...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK