Install to directory atomically.
Get the full path to an executable.
Install this component if necessary.
Install this component locally, if it isn't already installed.
Whether the component is installed, locally or already present on the system.
Whether the component is already present on the system.
As above, but expanded to full absolute directory paths.
Subdirectories (under the installation subdirectory) containing executables which need to be added to PATH.
The full installation directory.
Whether the component is installed locally.
Component name. Used for logging.
The list of executable names required to be present. Null if this component is never considered already available on the system.
The subdirectory where this component will be installed.
Where all software will be unpacked (current directory, by default).
Log sink