Silent Install Options (version 25)
Canary offers two silent options for installing or updating the Canary system:
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
-
Another important MSI parameter is HISTORIANPATH if you want HDB files stored on a different drive