2

Silent Install Options (version 25)

Canary offers two silent options for installing or updating the Canary system:

  1. MSI
  2. CanaryInstaller.exe

DISCLAIMER: The MSI option is the recommended method, but does not support migration if upgrading from v23 to v24+. The CanaryInstaller.exe would be needed in this scenario.

MSI Overview

Upon request (support@canarylabs.com), Canary offers a deployment package containing the CanarySetup.msi for updating server applications (ie. Historian, Collectors, Axiom Core, etc.) as well as a CanaryClientSetup.msi (Excel Add-in, ODBC Client) for client applications. The CanaryClientSetup.msi is offered for both 32- and 64-bit machines. The MSI is the standard way of using the unattended install which requires an elevated command prompt. This command will need to include the path to the .msi along with all required properties and any optional ones the user selects. There are also some specific properties that are used by Windows which are covered in this Microsoft help page. Before the unattended install can occur, all prerequisites must be completed.

Prerequisites

The following list of items are prerequisites the Canary products require prior to using the msi. These items are included within the CanaryAutoDeploymentPack that also contains the msi files. The table below lists the item and what products require it.

Third Party Dependency

Canary Product

NDP471-KB4033342-x86-x64-AllOS-ENU.exe (.NET 4.7.1)

All Canary products

OPCCoreRedist_x86.msi (32 bit)

Logger and Historian

vc_redist.x64.exe (64 bit c++)

CanaryAdminService, ODBCClient, Historian, ODBC

VC_redist.x86.exe (32 bit c++)

CanaryAdminService, ODBCClient, Historian, ODBC

Required Properties

There are several required properties for running the msi. Without these it will not work. The following table lists all of these properties along with their purpose and an example of what they look like in use.

Property

Purpose

Example

INSTALLDIR

Installation path

C:\Program Files\Canary

CANARYBASEPATH

Location of Canary program data

C:\ProgramData\Canary

ADDLOCAL

Comma delimited list of Canary features to install or repair

ADDLOCAL="FEATURE_AdminService,FEATURE_AdminClient"

Optional Properties

There are also several optional properties. These pertain to the service account and handling a remote Identity service and remote License service. The table below details the optional properties, their purpose, and when they are used.

Property

Purpose

Used When

HISTORIANPATH

The install directory of where the Historian will store its data. Default location is C:\Historian Data.

Not wanting to use the default install location

REMOTE_LICENSE_ENDPOINT

The address of an already installed License service

License service is on a remote machine

REMOTE_IDENTITY_ENDPOINT

The address of an already installed Identity service

Identity service is on a remote machine

SERVICE_ACCOUNT_USERNAME

The username of an account to be used as the service account. Must have logon as service rights

Using a service account that is not the default

SERVICE_ACCOUNT_PASSWORD

The password of an account to be used as the service account. Must have logon as service rights.

Using a service account that is not the default

Products

The products, also known as features, are required for install and repair. With a 64-bit full Canary product install some applications run as 32-bit on a 64-bit machine. The feature names and what they can run as are listed below.

Feature Name

Support version(s)

FEATURE_AdminService

32 or 64

FEATURE_AdminClient

32 or 64

FEATURE_Historian

32 or 64

FEATURE_Receiver

32 or 64

FEATURE_Sender

32 or 64

FEATURE_OpcDaCollector

32

FEATURE_Views

32 or 64

FEATURE_Calculations

32 or 64

FEATURE_Axiom

32 or 64

FEATURE_ExcelAddIn

32 or 64

FEATURE_Odbc

32 or 64

FEATURE_OdbcClient

32 or 64

FEATURE_CsvCollector

32 or 64

FEATURE_CygNetCollector

32 or 64

FEATURE_SqlCollector

32 or 64

FEATURE_OpcUaCollector

32 or 64

FEATURE_MqttCollector

32 or 64

FEATURE_Publisher

32 or 64

FEATURE_DataGeneratorCollector

32 or 64

FEATURE_License

32 or 64

FEATURE_Identity

32 or 64

FEATURE_StoreAndForward

32 or 64

FEATURE_Migration

32 or 64

 

Examples

As there are many different actions and multiple versions of the msi, below is a collection of examples on how to use the msi for unattended installs. Just replace the values for the installer and any desired properties.

CanaryInstaller-<version>.msi

  • install or repair example

    msiexec.exe /q /l* c:\temp\installlog.txt /i "c:\temp\CanaryInstaller-24.1.0-290.msi" INSTALLDIR="c:\Program Files\Canary" ARPINSTALLLOCATION="c:\Program Files\Canary" CANARYBASEPATH="c:\ProgramData\Canary" ADDLOCAL="FEATURE_AdminService,FEATURE_AdminClient,FEATURE_Axiom,FEATURE_Calculations,FEATURE_CsvCollector,FEATURE_CygNetCollector,FEATURE_DataGeneratorCollector,FEATURE_ExcelAddIn,FEATURE_Historian,FEATURE_Identity,FEATURE_License,FEATURE_OpcDaCollector,FEATURE_Migration,FEATURE_MqttCollector,FEATURE_Odbc,FEATURE_OdbcClient,FEATURE_OpcUaCollector,FEATURE_Publisher,FEATURE_Receiver,FEATURE_Sender,FEATURE_SqlCollector,FEATURE_StoreAndForward,FEATURE_Views"

    ADDLOCAL property contains a comma delimited list of features to install.

  • install example for using a specified service account
    msiexec.exe /q/l* INSTALLDIR="c:\Program Files\Canary" ARPINSTALLLOCATION="c:\Program Files\Canary" CANARYBASEPATH="c:\ProgramData\Canary" SERVICE_ACCOUNT_USERNAME="username" SERVICE_ACCOUNT_PASSWORD="password" ADDLOCAL="FEATURE_AdminService,FEATURE_AdminClient,FEATURE_Axiom,FEATURE_Calculations,FEATURE_CsvCollector,FEATURE_CygNetCollector,FEATURE_DataGeneratorCollector,FEATURE_ExcelAddIn,FEATURE_Historian,FEATURE_Identity,FEATURE_License,FEATURE_OpcDaCollector,FEATURE_Migration,FEATURE_MqttCollector,FEATURE_Odbc,FEATURE_OdbcClient,FEATURE_OpcUaCollector,FEATURE_Publisher,FEATURE_Receiver,FEATURE_Sender,FEATURE_SqlCollector,FEATURE_StoreAndForward,FEATURE_Views"
  • uninstall example:
    msiexec.exe /q /l* c:\temp\uninstalllog.txt /x "c:\temp\CanaryInstaller-<version>.msi"

CanaryClientInstaller_x64-<version>.msi

The CanaryClientInstaller_x64 msi includes the Excel Add-in and ODBC Client used to install files for 32- and 64-bit versions of Excel and ODBC clients.

  • install or repair example:
    msiexec.exe /q /l* c:\temp\installlog.txt /i "c:\temp\CanaryClientInstaller_x64-<version>.msi" INSTALLDIR="c:\Program Files\Canary" ARPINSTALLLOCATION="c:\Program Files\Canary" CANARYBASEPATH="c:\ProgramData\Canary" ADDLOCAL="FEATURE_ExcelAddIn,FEATURE_OdbcClient"
  • uninstall example :
    msiexec.exe /q /l* c:\temp\uninstalllog.txt /x "c:\temp\CanaryClientInstaller_x64-<version>msi"

CanaryClientSetup_x86.msi

The CanaryClientInstaller_x86 msi includes the Excel Add-in and ODBC Client used to install files for 32-bit versions of Excel and ODBC clients. 

  • install or repair example:
    msiexec.exe /q /l* c:\temp\installlog.txt /i "c:\temp\CanaryClientInstaller_x86-<version>.msi" INSTALLDIR="c:\Program Files\Canary" ARPINSTALLLOCATION="c:\Program Files\Canary" CANARYBASEPATH="c:\ProgramData\Canary" ADDLOCAL="FEATURE_ExcelAddIn,FEATURE_OdbcClient"
  • uninstall example :
    msiexec.exe /q /l* c:\temp\uninstalllog.txt /x "c:\temp\CanaryClientInstaller_x86-<version>.msi"

 


CanaryInstaller.exe Overview

The standard CanaryInstaller.exe installer can be used for unattended installations. In order to run it this way the user will need to be running a command prompt with admin privileges. Along with the path to the installer, they will also need to include the action they wish to complete. This is the only required parameter. Along with this they can include optional parameters which would include:

  • a list of the services to be installed, represented as 1s and 0s
  • a flag for migration
  • the username/password for a service account
  • machine name of a remote Identity/License service
  • the username/password of a user that can query the domain for the Identity service

Below is an example of what a command to run this may look like:

"C:\Users\User\Desktop\CanaryInstaller.exe"/CANARY_UNATTENDED:I:110000000100000000000110 username:User password:Password! Migrate:True IdentityQueryUser:User2 IdentityQueryPassword:Password2!

Actions

There are 3 actions that can be performed by the unattended Installer. Each is denoted by a letter.

I: This will install the selected services.

R: This will repair the selected services.

U: This will uninstall the services

An action must be included for the installer to run. If no services are included, then it will complete the action using the services currently installed on the machine. The format for this parameter is as follows.

/CANARY_UNATTENDED:I:110000000100000000000110

/CANARY_UNATTENDED:I

Services

Since there is no UI, the list of services to install, repair or uninstall must be included if they are different than what is installed on the machine already. A 1 denotes to include it in the action. A 0 is to skip it. There are two older products still included in this list that are just placeholders. Since they are no longer included the value should be 0.

Admin Service

Admin Client

Historian

Receiver

Sender

OPC DA Collector

Views

Placeholder for the deprecated Events service (must be included despite it no longer being used)

Calculations & Events

Axiom

Excel Add-In

ODBC Service

ODBC Client

Placeholder for the deprecated Mirror service (must be included despite it no longer being used)

CSV Collector

CygNet Collector

SQL Collector

OPC UA Collector

MQTT Collector

Publisher

Data Generator

License

Identity

Store & Forward

 

Below is the numerical service list that would be used to install the Admin client, the Admin service, Axiom, License, and Identity.

110000000100000000000110

Optional Arguments

There are several optional arguments that can be used in the unattended install. These set values for migration, the service account, the Identity service, and the License service. Below is a table of each field and a brief description of what it is used for.

Parameter

Use

Username

The username for a service account when not using the default. Must have Logon as a Service rights.

Password

The password for a service account when not using the default.

Migrate

A true or false value for whether the migration should occur.

IdentityApiToken

A valid API token from a Canary Identity service when migration is true, and Identity is remote.

IdentityEndpoint

Machine name of the Canary Identity service when Identity is remote.

IdentityQueryDomain

The domain for the user to query the domain as when the user running the install cannot query the domain.

IdentityQueryPassword

The password for the user to query the domain as when the user running the install cannot query the domain.

IdentityQueryUser

The Username for the user to query the domain as when the user running the install cannot query the domain. It is only needed if the domain is not local to the install.

LicenseEndpoint

Machine name of the Canary License service when the License service is remote.

2 replies

null
    • laruer
    • 4 days ago
    • Reported - view

    Another important MSI parameter is HISTORIANPATH if you want HDB files stored on a different drive

      • smason
      • 13 hrs ago
      • Reported - view

      Good catch . I updated the MSI optional parameters to include this as it would not be necessary for machines that do not have the Historian service installed. Currently, the exe option does not have this capability, but a work item has been created to include it in a future release. Most likely 25.4.