Changes to the Installer

by Tom Moore , August 28, 2025

The Patchworks installer (also know as the setup program) is a simple click-through program that is used to get Patchworks set up on your workstation. As Patchworks capabilities have increased over the years, so has the library of additional runtime dependencies that the installer needs to manage. Some changes were required to make this all work reliably, so read on to find out more.


The Patchworks installer copies the core Patchworks files and libraries onto the client workstation, and also sets up environment variables and shortcuts that are needed for running Patchworks. In earlier versions of Patchworks the library of runtime dependencies was small, but as features have been added (read from Excel files, write to PDF files, read various spatial formats) the number of additional libraries has increased significantly. This is not a problem on its own, but Patchworks isn't the only tenant in your workstation. Many analysts will have installed other useful tools such as QGis or GeoPandas, and some of the libraries they contain may be duplicates of the ones loaded by Patchworks. This also isn't a problem on its own, but it is not uncommon for these duplicated libraries to be incompatible with each other. This situation (know as DLL Hell) can cause applications to fail unexpectedly when they are installed along with other applications.

The best way to avoid library incompatibilities is to for each individual application to isolate their libraries dependencies so that they are not exposed to other applications. When the application starts up it adds the source of its libraries at the beginning of the library search list. When the application is finished the private libraries are no longer in the search list.

Patchworks has now implemented this approach with a new script that is used to start up Patchworks. This executable script is found in the Patchworks home directory (located with the SPSHOME environment variable) and has the name "patchworks.bat". To set up the library search path and start Patchworks you can simply use the command


"%SPSHOME%\patchworks.bat"
     
This command will open an Application Launcher window. If you want to run an application directly, then add the class name and any other parameters to the command line:

"%SPSHOME%\patchworks.bat" ca.spatial.patchworks.Patchworks C5.pin
 

The shortcuts that the installer creates have been changed to refer to this new script. If you have pinned the previous shortcut on to the start menu or on to the task bar then it is likely that it won't work anymore. The solution is to unpin the old shortcut, and then repin the new shortcut.

Another change to the installer is that it now supports user level installations, without requiring elevated administrator permissions. This type of installation will only install Patchworks for the current user, so if you are sharing a workstation this may not be the best option. User level installations have to be run from the command line, with the following parameter:


patchworks-setup.exe /currentuser
 
User level installs are similar to all users installs, except
  • The installation folder must be writable by the user
  • Only the user environment variables will be updated
  • Icons will not be set for bsh or pin files
If you already have Patchworks installed for all users then you must first uninstall it before doing a user level install. Similarly, if you have a user level install and then you must first uninstall this before changing to an all users install.

Contact Patchworks technical support if you have any problems with this new feature.