InstallAnywhere® is a computer software product that enables developers to build cross-platform installers for their programs. It is a Java™-based software tool that can generate installers for many different computer operating systems from a single project file. The program addresses some of the challenges of cross-platform distribution and can also perform uninstall and maintenance functions.
While there are a number of solutions for creating applications that run on multiple operating systems, there is no method that completely removes all obstacles to creating cross-platform applications. Simple differences between operating systems, such as the way shortcuts are created or folders where a user’s documents are stored, can cause extra headaches for programmers. Installers, i.e., programs that install other programs, are no exception, and creating a cross-platform application usually means creating a separate installer for each platform the software is intended to run on.
InstallAnywhere® is a program that aims to simplify these tasks by generating multiple installers from a single input project. The program can generate installation software for nearly any platform that supports Java™. Graphical installers are the default, but more expensive versions of InstallAnywhere® can also produce command line installers or “silent” installers that do not interact with the user. Localization into different languages is also supported.
The challenges of cross-platform distribution are addressed in several ways in InstallAnywhere®. Installers created with the program use the Java™ programming language. Since Java™ applications run inside a “virtual machine,” the installers will run on any platform with a virtual machine installed. If there is no virtual machine available, the installers can also include one to ensure the program will run. An included feature known as LaunchAnywhere™ is capable of automatically creating and setting up a Java™ environment for a program to run in.
The InstallAnywhere® software also supports variables that developers may use to specify a directory or file that may differ from platform to platform. A user’s home directory, which can be in a variety of locations, can be targeted with the variable “$USER_DIR$,” which is then interpreted by the installer based on the operating system. The program calls this functionality “Magic Folders.”
In addition to performing installation functions, InstallAnywhere® can help to manage, upgrade, or uninstall programs. The most recent versions of the program can place restrictions on the number of instances an application can be installed. A maintenance mode supports repair or restoring individual components of an installed application. A rollback mode is also included, allowing a system to be returned to the state it was in prior to installation. Upgrade modes can be used when rolling out new versions of software, and the program allows custom code through the use of an Application Programming Interface (API).