Portable application

Called Portable Software (from the Latin portare bear ',' carry with them '), also standalone software or ( USB ) stick goods, software, typically application software that runs without any further adjustments or installations on different computers. They can, for example, copy them onto a removable drive and run from there on any (compatible) computer, without needing to install on this.

  • 5.1 Hardware Platform dependence
  • 5.2 System-related software
  • 5.3 Legal Issues
  • 5.4 Security in Companies
  • 5.5 Operating systems and portability 5.5.1 Windows Software
  • 5.5.2 Linux software
  • 5.5.3 Portable Operating Systems

Motivation and benefits

Certain programs, but also their attitudes and personal data, many users want to have several computers. With the help of portable software them to a USB flash drive ( or other removable media) can be copied, so that the user only needs to plug this stick in order to have access to its programs and settings.

Since portable software leaves no trace on the host computer and no installation needed, they can also use on computers where this software is not available, you do not have administrator rights or not have write permission on a system disk has.

Definition and delimitation

Why a Portable Software is assumed to be " portable" or "independent" varies somewhat: Partial independence within one ( operation ) is meant system installation ( that is, the application programs can thus be moved without loss of functionality in the directory tree ), sometimes so is the independence meant by a specific hardware system (that is, the software is also available on other but compatible physical computer systems fully functional). The independence from specific operating system families, usually referred to as platform independence is not meant when speaking of portable software, as this is a quality that goes beyond the typical usage scenarios of portable software.

For the most frequent use case applications, Portable Software may also be understood as a variant of an application virtualization. With a more extensive system virtualization Although portable properties can also be achieved, but with additional expense and other disadvantages (file size, performance, poorer integration).

Properties

In principle interacts Portable Software only slightly with the operating system or is not ( or only weakly ) integrated into it. Accordingly, it depends only on a few properties of the specific operating system and the (physical) computer system.

No installation required

Typically Portable software need no installation and can be used directly by the carrier media. Sometimes it is made ready for use by copying to a (any ) host computer directory. Usually, the ready-made software can be duplicated even after use by simply copying, which is advantageous for a simple data backup to another disk and a simple redistribution of the software. Portable software is often distributed as a zipped archive that must be extracted only in a directory without needed that system-specific installers. This simple unpacking is misleading sometimes also referred to as the install, although no deeper integration takes place in the host system.

If a portable software but "installed", it is about the establishment under very non- restrictive conditions, that is, the location can be chosen freely, the prerequisite system libraries are minimized, and special user rights ( admin or root) are not necessary etc.

No trace on the host system

Ideally, portable software leaves no trace on the host system. Traces on the one hand installation entries of any kind ( for example, in the registration database, the user profile or the like) or it can be user data that should not be left on a shared computer.

Function with restricted rights

On the host system, one often has no administrator rights. The software should therefore be able to run with restricted rights. Thus, it can also cause no excessive damage in ordinary configuration of the host system.

This is not possible if the program needs direct access to the hardware or certain system components. Thus, for example, need the encryption programs FreeOTFE or TrueCrypt even in the " Portable Mode" or "Traveller Mode" to encrypt and decrypt the removable disk administrator rights.

Development of portable programs

Often portable programs adapted versions of conventional, requiring installation programs. In order to distinguish them from these, is often the predicate "portable " prefix. There are also programs based on the ratios of the specific disk (usually flash memory) are designed for areas such as write accesses. A special form is U3 software, which can only be run from a U3 compatible with the proprietary software USB stick.

However, can not be created by any program a portable version.

Limits of portable programs

Hardware platform dependency

Applications, which (for example, eleven or PE ) are present in a binary format, have been generated by a compiler for a specific hardware platform (for example, IA- 32). Different CPU architectures vary in instruction set, data word size (eg 32- bit or 64- bit), or byte order. The limited portable applications on the same hardware platforms. A portable approach to circumvent this problem are so-called Fat binaries, the variants for multiple hardware platforms included. For example, Apple is a Fat binaries since 2006, here called universal binaries to enable the problem- poor transition from PowerPC CPUs to Intel CPUs.

System-related software

Not all programs are suitable for use as a portable software. For example, require virus guards, system tools and other system related software the opportunity to deeply engage the system. Their portable versions have less importance because they can not have the same functionality as installed software usually.

General application programs, such as text editors and e -mail clients, however, are usually made without system intervention and are suitable for portable use. For example, the office suite LibreOffice available in a portable version.

Legal problems

In addition to the technical aspects of play when used as portable software and the software license and any copy protection mechanisms a role. Frequently copying software from the manufacturer or licensor is undesirable and is prohibited in the license agreement. A copy binds a program often on a particular system - binding to a mobile data is not provided technically complex and usually. So here free software plays a crucial role because it entitles the user to unlimited use - as a portable software - assures. However, sometimes free, but strict GPL license prevents the static Einlinken of library dependencies to create portable programs. The GPL, under which there are many libraries, precludes this, if the program itself is subject to a less restrictive or proprietary license.

Enterprise Security

IT managers are responsible for the configuration and security of the systems in the enterprise network. However removable disk and the data and programs contained therein beyond their control, and present a risk dar. Preventive it is partly common to disable USB ports in the BIOS or in the operating system of the computer.

Operating systems and portability

Windows software

Windows with its MS- DOS roots has no fixed standard or a solid agreement on the installation path of programs, the user is almost always asked for installations to a target path. This are varying execution paths of programs often not a problem, both at the operating system as well as on the application side, as opposed to Unix-like operating systems, in which standard variety have prevailed. The portability of the relevant feasibility of programs from arbitrary (installation ) directories out ( see line 9) with its own local libraries ( DLLs private ) is something that Windows owes its MS-DOS origin; most DOS programs are portable, and only a few require special TSR programs that need to be loaded at startup.

Also creating portable software for Windows benefits that backward compatibility for this software platform, a high priority has (stable function interfaces, directory structure, etc. ), so it will be a lot of effort to the feasibility of binary programs on a wide range of Windows versions and their updates to ensure.

However, the recommended use of the central registration database since Windows 95 instead of local INI files is an obstacle to portability under Windows. Save programs their configuration data in the registry, they can not be copied easily between different computers, and often is not documented, in which part of this database program stores its settings. A dispersed storage of program data in multiple system directories ( Profile, Personal Settings, Social Bookmarking, etc.) in the context of multi-user management complicates the portability also.

Linux software

In Linux, applications are typically tightly integrated into the operating system, that is, with this compiled and shipped together ( Linux distribution ). This weak differentiation between applications and operating system, and thus only weakly expressed binary and stable platform concept, difficult to create portable applications significantly. These include the generally strict, system-wide management of applications and libraries by parcel management, complicate portability. After analyzing the klik project about the different package management systems on Linux, lack of the most frequently used systems RPM and APT important skills to enable portable installations. The missing features include the of installation without root privileges ( " Non -root installation package '), the impossibility of damaging the system or other applications ( ' Impossible to mess base system ',' Impossible to mess other apps' ) and the ability to run multiple versions of an application to install ( 'Multiple versions coexist ').

Also the Relocate ( relocation ) of application programs between different directories is not provided in Linux, paths are typically hard - coded at compile time into the application. The package to the car belonging binreloc library provides functionality similar to the Win32 API function GetModuleFilename (), which directory relokierbare applications and libraries are possible.

Also, the differences between the Linux distributions among themselves, that the variations in the tree structure and the supplied libraries, prevent a trouble-free, portable performing a binary program file. To generate the development approach, distribution across and portable applications on a complete static linking of library dependencies, it is technically difficult to implement, can be prevented by licensing conflicts and is among other things due to the running of distributor infrastructure and updates in the Linux community does not like seen.

Computationally can be more portable programs with private libraries using a relative library path with the $ ORIGIN linker option generate. Advantages of this approach are that no user customization of library paths or other scripts are needed (as opposed to LD_LIBRARY_PATH approaches), while most of the drawbacks of the static Linkens be avoided.

There are several approaches for installation systems that allow more portable and distribution independent applications, such as car package, Runz, Portable Linux Apps ( Klik successor ), Zero Install and CDE. However, each of these systems follows a different approach and covers a different aspect of portability. In addition, these solutions could find limited coverage and support in the Linux community, until now, including due to widespread concerns about non- management package -based solutions.

Portable Operating Systems

A special case is portable software that is embedded in its own operating system and thus for portable use requires a restart and boot the host computer. Especially with Linux software, in which the production and distribution of portable -border programs is a challenge, there are many solutions for application software with portable, Linux - based operating systems. Many Linux derivatives offer so-called Live CDs, such as Knoppix, which allow the operation of a removable disk, without leaving any traces on the host computer.

Microsoft Windows, however, must always be installed in accordance with the EULA on a ( fixed ) hard disk and therefore can not officially be used portably. Microsoft Windows PE can, however, install on removable media, also there are also third-party solutions, such as Bart's Preinstalled Environment.

657048
de