3.6. Distributing and Sharing an Installation

Rationale

Once you have completed the build steps described in the previous section you have a system ready to use on the local machine. You may repeat these steps for licensed users on as many machines as you like. (Squish is normally licensed per user rather than per machine, so one licensee can install Squish on all the machines they use.)

This section is for users or system administrators that wish to distribute or share a build performed on one machine to a different location or for users on other machines. If access to a local installation is all you need, you can safely skip the rest of this section and proceed to the Standalone Installation of the IDE (Section 3.10) section, and then to the chapters about using Squish, starting with Squish Concepts (Section 4.1.1.1) if you are new to Squish.

There are many reasons why you might want to reuse the built executables and libraries—for example:

Distributables

After completing the build, the distributables can be found in the top-level bin, lib, and etc directories. The bin directory contains the executables (and some supporting .dll files on Windows), while other supporting libraries and script files are in the lib directory. The etc directory is used to hold installation configuration files—user specific settings are stored elsewhere, as explained shortly. Here is the list of all the files that comprise the Squish toolset (including those needed by the IDE). We have used wildcard syntax to indicate multiple files where appropriate.

Windows

bin\*.*

lib\*.*

etc\paths.ini

etc\squish.ini

etc\*wrapper_descriptors.xml

Linux/Unix/macOS

bin/*

lib/*

etc/paths.ini

etc/squish.ini

etc/*wrapper_descriptors.xml

Notice that the wrapper library and wrapper descriptors have been specified using a wildcard (*) because there may be several of these depending on the toolkits you built Squish to make use of (e.g., Qt, Java, etc.).

Distribution

To distribute the build to another location on the same machine, or on a different one, just copy over all the files (or only those in the groups required), from the three directories listed above. The original build path is hard-coded into the binaries, but they will still work in a different location. To enable the executables to locate the libraries and other files that they depend on, it is important that the relative positions of the files remains the same. This means that you can copy the files from the bin, lib, and etc directories, to whatever directories you want, providing that the relative paths between the files remain the same, i.e., the directories used to store the files must have the same parent directory.

For example, if you copied the bin directory's files to the directory C:\tools\squish\executable, then the companion files from the lib, and etc directories must go in directories under C:\tools\squish, such as C:\tools\squish\library and C:\tools\squish\configuration.

Shared Installation

To allow all licensed users to access Squish from a shared network location, make the bin, lib, and etc directories accessible to them. This can be done via a share on Windows or via an NFS mount on Unix, for example. As mentioned earlier, the bin, lib and etc directories must all share the same parent directory.

User-specific settings are stored locally on a per-user basis in the application data directory on Windows (%APPDATA%\froglogic\Squish), or the $HOME/.squish directory on Unix and macOS.