Running Connect installer in Silent Mode

Updating from Connect versions predating 2019.1

In order to update OL Connect to 2023.2 from Connect versions prior to 2019.1 it is first necessary to update the Connect License.
For details on how to upgrade the Connect License see Users of Connect prior to 2019.1

General information

OL Connect can be installed from the command line in "silent mode" to allow for scenarios such automated installations during company wide roll-outs, or to allow for unattended out-of-hours updates. The trigger for the Connect Installer to run in silent mode is a text file with the fixed name installProperties.ini located in the same folder as the OL Connect installation executable file.

How to prepare the installProperties.ini file is detailed in the following sections.

Installation Properties file

The basic rules for the installProperties.ini file are:

  • Comment Lines start with the semi-colon character ';'
    Example: ; The options to configure an external database
  • The properties are listed in Key = Value pair format.
    Example:  product.ServerExtension = false
  • Quotes are used for path strings, but not for other string types
    Example: path = "c:\Program Files\Objectif Lune\OL Connect"
  • Property values are case insensitive

The installation settings fall into three distinct categories:

  • [Logging] for setting the installation logging options.
  • [Installation] for selecting what gets installed.
  • [Uninstall] handles properties related to product Uninstallation. These also impact Maintenance mode.

[Logging]

This section handles Silent Installer logging options.

The logging Key pairs are as follows:

  • verbose: Boolean (Default: false)
    A basic log is always created by the installer, with or without the verbose option. The verbose option is more suitable for debugging purpose.
    If set to true, then a verbose log file is created in the logging path specified in the INI file.
    If no logging path is specified in the INI file, then the default one is used.
    If set to false, standard logging is done.
  • path: String (Default: %PROGRAMDATA%\Objectif Lune\Installation Logs)
    Sets the folder to which the installation log will be written.
    Only the log folder should be specified here, not the log file name.

    Note: The log file name's format is set automatically and uses the format Installer-YYYY-MM-DD-####.#.#.log, where:

    • YYYY-MM-DD = The date the log was created
    • ####.#.# = The OL Connect version number

    The file name for a maintenance installation begins with "Maintenance" rather than "Installer"

Example:

Copy
; Logging properties
[Logging]
verbose = false
path = "c:\temp\Silent Install"

[Installation]

This section handles various installation parameters as well as product selection.

The logging Key pairs are as follows:

  • product.<name>: Boolean (Default: false)
    Each OL Connect product has its own entry, which can be set to true (to install) or false (to omit from installation).
    What products are available for installation is determined by which OL Connect branding is being installed. The products for OL Connect branding are as follows:

    • product.Designer
    • product.PrintManager (Enterprise edition only)
    • product.Server
    • product.ServerExtension (Enterprise edition only)
    • product.MariaDB
    • product.Messenger

  • path: String (Default: %PROGRAMFILES%\Objectif Lune\OL Connect)
    Sets the installation root folder for the OL Connect applications.
  • RegisterService.connectServer: Boolean (Default: true)
    Register the Server (or Server Extension in the Enterprise edition) services or not (such as in the case of a container).
  • server.username: String (Default: the current user/domain installing the service)
    Determines the domain and username to be used when configuring the Server (or Server Extension in the Enterprise edition) service.

    The username can use the following syntax formats:

    • username
    • domain\username
      (Note: the backslash between the domain and user names needs to be escaped by another backslash. For example: server.username = ourcompany\\pbrown01)
    • username@domain
  • server.password: String (Default: there is no default for this setting)
    Password to use when registering the Server (or Server Extension in the Enterprise edition) service.

  • database.configure: Boolean (Default: true)
    If set to "false", then the database configuration is skipped.

    Note: If database configuration is skipped (database.configure = false), then none of the database.xxx properties below are required, and these properties will be ignored, even in they are included in the INI file.

  • database.system: String, Optional (Default: there is no default for this setting)
    Entry needs to be from one of the following options: mariadb, mysql, mssqlserver

    Note: If product.MariaDB = true has been set:

    • This setting becomes optional. Otherwise it is required.
    • The value is required to be mariadb, if the value is to be provided.

  • database.host: String, Optional (Default: there is no default for this setting)
    If product.MariaDB = True has been set, this value is required to be set to localhost, if provided.

  • database.port: Numeric, Optional (Default: MariaDB's default port, 3306)
    The database engine port.
    The required entry depends upon the selection made in database.system.
    If product.MariaDB = True, then the port should be set to 3306.

  • database.rootpassword: String (Default: there is no default for this setting)
    Database root password.
    There is no default value, and if this is left unspecified the installation will fail.

  • database.remoteaccess (Enterprise edition only): Boolean (Default: depends upon whether the Connect Server is installed.
    If the property product.Server = true, then the default is false.
    If product.Server = false or is left unspecified, then the default is true)
    When set to true the database will be configured to accept connections from systems other than localhost.

  • database.username: String (Default: olconnect)
    The username that OL Connect will use to connect to the database.

  • database.password: String (Default: there is no default for this setting)
    The password that OL Connect will use to connect to the database.
    There is no default value, so if this is left unspecified, then the installation will fail.

  • database.instance: String, Optional (Default: there is no default for this setting)
    Only valid if database.system = mssqlserver.

  • database.schema: String (Default: there is no default for this setting)
    Specifies the database schema to use. Required. (Optional if product.MariaDB = true)

  • database.encryptedconnection: Boolean (Default: False)
    Specifies the database schema to use.
    (Optional if if product.MariaDB = true)

  • server.connection.configure: Boolean, Optional (Default: True)
    If set to False, then the server connection configuration is skipped.

  • server.connection.user: String (Default: olc-user)
    The server connection username.

  • server.connection.password: String (Default: there is no default for this setting)
    The server password. Required if server.connection.configure = true.

  • server.connection.port: Numeric (Default: 9340)
    The server port number.

  • server.connection.host (Enterprise edition only): String (Default: there is no default for this setting)
    The server host. Required only for the Server Extension if server.connection.configure = true.

  • desktopShortcuts: Boolean (Default: False)
    Specifies whether desktop shortcuts are to be added or not.
    This flag only takes effect if components were selected which have a shortcut associated with then (Designer, Print Manager (Enterprise edition only), Server). If no such were selected, then this flag will have no effect.

  • Language: String, Optional
    Sets the OL Connect application language settings.
    Supported user locales (as language code) are as follows:

    • English: en

    • French: fr

    • German: de

    • Italian: it

    • Japanese: ja

    • Spanish: es

    • Portuguese (Brazil): pt

    • Chinese (PRC/TW): zh

    • Korean: ko

  • Locale: String, Optional
    Sets the OL Connect application's region using a country code. For example: US, UK, DE, CH.
    If this property is not set, the locale defaults to the system locale, and if that is not found, the selected installation language will determine a default locale.

Example:

Copy
; Installation settings
[Installation]
product.Designer = true
product.Server = true
product.PrintManager = true
product.ServerExtension = false
product.MariaDB = true
product.Messenger = true
RegisterService.connectServer = true
server.username = Administrator
server.password = ObjLune
server.connection.user = olc-user
server.connection.password = secret
database.rootpassword = @Admin2022
database.username = olconnect
database.password = @Admin2022
database.remoteaccess = true
desktopShortcuts = true
path = "c:\Program Files\Objectif Lune\OL Connect"
Language = fr
Locale = FR

[Uninstall]

This section handles properties related to Uninstallation, but also Maintenance mode installations.
These options have no effect at all if OL Connect is not present on the system.

The logging Key pairs are as follows:

  • remove: Boolean (Default: False)
    If the present version of the installer is already installed, this property defines the installer behaviour.
    The installer will perform a Remove MSI action on OL Connect if remove = true, whilst a Modify MSI action will be performed if remove = false.

    Note: This option has no effect if the product is not installed on the current system

    Note: If the Remove action is taken, then the equivalent of an uninstall is done, while a Modify action will change the components installed on the system based on the ones defined in the INI file [Installation] section, allowing removal or addition of components in the current installation.

  • keepdata: Boolean (Default: True)
    Allows the user to specify if they wish to keep or remove user data (located under %PROGRAMDATA%\Objectif Lune\OL Connect when performing a product uninstall.

Example:

Copy
; Uninstallation/Repair properties
[Uninstall]
remove = true
keepdata = true

Properties file examples

Simple Connect installation example

Here is an example of a complete installProperties.ini file for a relatively simple OL Connect installation.

Copy
; OL Connect silent installer properties

; Logging properties
[Logging]
verbose = false
path = "c:\ProgramData\Objectif Lune\Installation Logs"


Installation settings
[Installation]
product.Designer = true
product.Server = true
product.PrintManager = true
product.ServerExtension = false
product.MariaDB = true
product.Messenger = true
RegisterService.connectServer = true
server.username = Administrator
server.password = ObjLune
server.connection.user = olc-user
server.connection.password = secret
database.rootpassword = @Admin2022
database.username = olconnect
database.password = @Admin2022
database.remoteaccess = true
desktopShortcuts = true
path = "c:\Program Files\Objectif Lune\OL Connect"

;Optional uninstallation settings
[Uninstall]
remove = true
keepdata = false

Server Extension installation example

The following is an example of a complete installProperties.ini file for a Server Extension installation (Enterprise edition only).

Copy
; OL Connect silent installer properties for Server Extension installation

; Logging properties
[Logging]verbose = false
path = "c:\ProgramData\Objectif Lune\Installation Logs"

; Installation settings
[Installation]
product.Designer = false
product.Server = false
product.PrintManager = false
product.ServerExtension = true
product.MariaDB = false
product.Messenger = true
RegisterService.connectServer = true
server.username = Server EX2
server.password = objlune
database.system = MariaDB
database.host = 192.168.108.50
database.username = root
database.password = Admin@123
database.schema = olconnect
database.encryptedconnection = false
database.rootpassword = Admin@123
database.remoteaccess = true
desktopShortcuts = true
server.connection.configure = true
server.connection.host = 192.168.108.50
server.connection.port = 9340
server.connection.user = ol-admin
server.connection.password = secret
path = "c:\Program Files\Objectif Lune\OL Connect"

; Optional uninstallation settings
[Uninstall]
remove = true
keepdata = false

Exit Codes

Success

  • 0 = Installation completed successfully / no specific error code was returned.

Pre-Installation Check (200s)

  • 201: Operating system is not 64-bit

  • 202: Windows Operating System is too old (pre-Windows 7)

  • 203: Minimal UAC prerequisites were not met

  • 204: Installation user did not have administrator rights

Silent installation properties (300s)

  • 301: MariaDB product was selected, but no root password was supplied

  • 302: MariaDB product was selected, but no user password was supplied

  • 303: User provided database is to be used, but database.system property was missing

  • 304: User provided database is to be used, but database.system property had invalid value

  • 305: User provided database is to be used, but database.host property was missing.

  • 306: database.instance property was used with a database system other than MS SQL Server

  • 307: User provided database is to be used, but database.username property was missing.

  • 308: User provided database is to be used, but database.password property was missing.

  • 309: Connect server / server extension product was selected, but server.connection.password property was missing

  • 310: Connect server extension product was selected, but server.connection.host property was missing

Upgrade errors (400s)

  • 401: Some Connect applications were running and need to be closed before installation can proceed.

  • 402: The installer brand does not match the brand of the OL Connect version currently installed. (PlanetPress)

  • 403: The installer brand does not match the brand of the OL Connect version currently installed. (PReS)

  • 404: The installer brand does not match the brand of the OL Connect version currently installed. (Printshop Mail)

License file validation (500s)

  • 501: OL Connect license file is in older format

  • 502: License Care Date does not allow installation of product

  • 503: License brand mismatch with installer brand

Destination and selected product check (600s)

  • 601: Server and Server Extension both were selected to be installed.
    Only one of the two may be installed on any one system.

  • 602: No component was selected to be installed

  • 603: Destination folder is invalid or there is too little disk space available

Installation aborted (700s)

  • 701 - 725: Installation was aborted due to user cancellation

Service stop error (800s)

  • 801: OLConnect_MySQL/OLConnect_MariaDB service could not be stopped during uninstallation