Objectif Lune joins Upland Software.Learn more >
Manuel Polling
May 25th, 2022
An overview of the new installer for OL Connect that we are introducing with OL Connect 2022.1. This article explains the improvements, what has changed, and why.
The installer for previous versions of OL Connect was mostly built in Java and contained a lot of custom code. The reasons for this are largely buried in history, but one of them was probably that the framework used would allow in place updates (i.e., only update the bits that actually have changed). This never materialized for other reasons, and we ended up with an installer that proved much harder to maintain and improve than we cared for.
So, last year we decided to bite the bullet and build a completely new installer. Our design goals were to minimize customization, rely on standard technology as much as possible, and capitalize on what the Windows MSI technology already brings out of the box, such as rollback. And this installer is now ready and part of the 2022.1 release. Note that this installer is for the OL Connect Server, Designer, and the related engines. The Connect Workflow installer has not been changed in the same way.
An installer is not where people find the value in a product. It’s a utilitarian thing that just has to do its job reliably and not get in your way. That’s also what we focused on for this new installer.
One of the nice benefits of Windows MSI is that it will roll back whatever was done if something goes wrong during installation or if the user cancels. The Connect installer now also supports this. In the future, an aborted installation will get you back to your starting point and will not get you stuck with half an installation that requires manual deletion.
There is an exception to this: when upgrading from a version that was still using the old installer, the uninstall of that version cannot be rolled back. However, you can reinstall that old version if needed, because the new version’s installation will have rolled back.
If you want to take advantage of rollback, think carefully when you are asked if you want to Remove user data. That data will not reappear after rollback. In general, there should be no issue with keeping the user data.
Even though the new installer cannot roll back to installations from before the 2022.1 version, it will still be more reliable when upgrading from those versions. The uninstallation of those older versions does not rely on the old installer’s logic and uses a more straightforward method that is more like the software removal tool used by Support when an installation has gone wrong.
We have made usability improvements in several places, using the “user knows best” principle, while still providing guard rails. For instance, we no longer have requirements for the database root password; no need for hassle in case of a simple test or trial, and we expect users to know that strong passwords should be used for serious installations.
Another example is that you can now skip the validation of the service account used for running Connect Server; the installer will then not attempt to start the service, so you can finish the installation even if that user has no profile folder yet (never logged on). Note: the account must exist, but you can create it even while the installer is running.
The installer will also do all the actual work without user interaction, including the uninstall of a previous version, so you can go get a coffee while it is working.
A few more steps were taken to get a more secure installation out of the box: when using the packaged database, we no longer use the root user for the database connection. The database no longer runs as LocalSystem. Other auxiliary services are no longer registered if not needed.
LocalSystem
With Connect 2022.1, we are switching the packaged database from MySQL to MariaDB. For new installations, this doesn’t really change anything, except for the name of the database system. When upgrading an installation that uses the packaged database, the database will be automatically migrated during the installation.
That’s assuming that the upgrade is not set to “Remove user data” and MariaDB is selected in the component selection. These other scenarios are explained below under Update installations.
The first thing noticeable about the installation wizard is the new look. It’s still “just an installation wizard”, but we think it does look refreshed. In addition, things are more aligned from page to page, and all the texts have been reviewed as well.
In the early days of OL Connect it still made sense to create ISO files for big installer packages. By now, these just get in your way. So, instead of an ISO, the installer is now a single executable that you can just download and run.
The installer will no longer add the OL Connect program icons to your desktop. The old installer would just add them without permission, which I think is a bit rude. The program icons are still where they belong: in the Start menu. If you like program icons on your desktop, let us know and we will add an option so you can choose to have them.
The component selection page defaults to a full setup, so you can just hit Next if you’re going for a quick trial install. Otherwise, just customize as desired. The Messenger can now explicitly be chosen or skipped when installing Designer. It’s only needed if you intend to use the Send to Workflow… feature of the Connect Designer.
The tree-view with its drop-down menus is what we got out of the box from InstallAware.
Setting up the packaged database now requires two passwords. The first password is for root access to the database. Users should hold on to that password, and keep it safe, because it’s what you need in case of trouble shooting the database, or in case of certain manual changes. The software does not store this password anywhere, so it’s really up to the sysadmin to properly handle this.
The second password is what OL Connect uses to connect to the database, in combination with the configured username. This improves security, because for this user it’s possible to restrict its access rights to the database, which is not possible for root.
For both passwords, it is now up to the user to choose how strong they want that password to be. The old installer had some password requirements, which could get in your way, but they weren’t good enough to ensure a strong password.
Services that are not needed, are no longer running. Messenger is now explicitly chosen to be installed (or not), while before it would silently come along with Designer. MariaDB is running under a virtual account, which has less privileges than LocalSystem, and that’s considered good for security.
To run the installer completely silent, it now requires a command-line argument. Use
PReSConnectSetup.exe /s
In addition, a properties file is needed to configure the installation. This properties file must be named InstallProperties.ini. A few settings are required, so it’s not possible to do a silent installation without a properties file.
InstallProperties.ini
The presence of the properties file will also suppress the installation wizard even when the /s option is not supplied, but then the splash screen and language selection will still appear.
The properties file content has changed too. There are more properties, and the properties have changed. The section and property names are case insensitive, as are the Boolean values.
In the sample below, all properties are shown. The ones that have defaults are commented out.
[Installation] product.Designer=true product.PrintManager=false product.MariaDB=true product.Messenger=true ;not in PrintShop Mail Connect: product.Server=true ;PReS Connect only: product.ServerExtension=false ;path="c:\Program Files\Objectif Lune\OL Connect" ;database.configure=true database.rootpassword=secret ;database.system=mariadb ;database.system is required if product.MariaDB=false, choose one of mariadb, mysql, mssqlserver ;database.host=localhost ;database.port=3306 database.username=olconnect database.password=secret ;database.remoteaccess=false ;database.remoteaccess defaults to true if product.Server=false ;database.instance= default is empty, only valid if database.system=mssqlserver ;database.schema=olconnect ;database.schema is required if product.MariaDB=false ;database.encryptedconnection=false ; server. properties are not for PrintShop Mail Connect ;server.connection.configure=true ;server.connection.host= ;server.connection.port=9340 ;server.connection.user=olc-user server.connection.password=secret ;RegisterService.connectServer=true server.username=Administrator server.password=secret ;RegisterService.licensing=false not needed for customer installations ;[Logging] ;verbose=false ;path="c:\ProgramData\Objectif Lune\Installation Logs" ;[Uninstall] ;remove = true ;keepdata = true
The command-line of the installer has changed.
/s
/l=<full\path\to\logfile.log>
The exit codes have been elaborated, which can make it easier to troubleshoot silent installations. An exit code of 0 still indicates success of course. When the installer fails, it will return a 3-digit code that can fall into the following categories:
2xx – pre-installation check failed
2xx
3xx – silent installation property missing or invalid
3xx
4xx – upgrade error
4xx
5xx – license file validation failed
5xx
6xx – invalid component selection (i.e., Connect Server and Server Extension, or no component), or invalid destination folder (including insufficient space)
6xx
7xx – installation aborted (by user)
7xx
8xx – failed to stop service(s)
8xx
As mentioned earlier, when updating from a pre-2022.1 version of Connect, the installer cannot roll back to that earlier version in case the installer is aborted for some reason. Instead, the installation of the new version will roll back, leaving the system in a state where it is possible to run the installer of that older version again.
When updating from a pre-2022.1 installation that uses the packaged MySQL, there are a few options that will affect what happens with the existing database: the Remove user data option, and whether MariaDB is a selected component.
Component selection
Remove/keep user data option
Actions
MariaDB selected
Keep user data
Connect database migrated from MySQL to MariaDB.
MySQL data folder left intact (including the Connect database).
Remove user data
Connect database dropped in MySQL.
MySQL data folder removed if no other databases remain (besides system databases).
MariaDB not selected
What this shows, is that
The data folder of the previously packaged MySQL database is C:\ProgramData\Objectif Lune\OL Connect\MySQL\
C:\ProgramData\Objectif Lune\OL Connect\MySQL\
The data folder of the packaged MariaDB database is C:\ProgramData\Objectif Lune\OL Connect\MariaDB\
C:\ProgramData\Objectif Lune\OL Connect\MariaDB\
Tagged in: msi, rollback, stability
Receive exclusive OL products news, tips and resources.
Your email address will not be published. Required fields are marked *
Notify me of followup comments via e-mail. You can also subscribe without commenting.
Δ
So you talk about MSI installatipn but you describe an EXE installation with a InstallProperties.ini file and the use of the PreSConnectSetup.exe which does not exist anymore. So what is the correct silent installation if I have only a “PrintShopMail_Connect_Setup_x86_64-2022.1.4.exe” ?
The .exe installer is based on MSI technology, but we are indeed distributing a .exe, and not a .msi file. The installation works the same for all brands in the OL Connect product line (PrintShop Mail Connect, PlanetPress Connect, and PReS Connect). I left out the version specific bits of the installer’s filename; the file you refer to works the same way as described.
For PrintShop Mail Connect, the silent installation is described in more detail in the help: https://help.objectiflune.com/en/printshopmail-connect-user-guide/2022.1/#Installation/Silent_Installer.htm
For sake of completeness, the same page for PlanetPress Connect is here: https://help.objectiflune.com/en/planetpress-connect-user-guide/2022.1/#Installation/Silent_Installer.htm and for PReS Connect: https://help.objectiflune.com/en/pres-connect-user-guide/2022.1/#Installation/Silent_Installer.htm
With future versions where the bundled version of MariaDB changes, will the new installer present a choice to upgrade the version of MariaDB?
As long as we stay on the same major version, currently 10.6, we intend to have the database automatically upgrade when we package a newer version of MariaDB. This will not be a user choice, however. If you want full control over what database version you are running, you should download and install the database separately.