Silent Installer of ZennoLab products

Why is it necessary?

With the execution of commands with special arguments in the console, you can automatically install and update Zennolab products.

In particular, it can be useful when you administer several servers with Zennolab products.

Examples for Windows Command Line

The following command sets ZennoPoster on the current computer (or updates if an older version is found).

Automatic installation (with the UI):

start /wait ZennoPosterPro-RU-v7.5.1.0.exe --silent --accept-license-agreement="https://zennolab.com/terms-of-service/"

Where ZennoPosterPro-RU-v7.5.1.0.exe is the name of the Build, which you want to install.

Silent installation (without UI):

start /wait ZennoPosterPro-RU-v7.5.1.0.exe --silent --hidden --accept-license-agreement="https://zennolab.com/terms-of-service/"

You can save this code and execute it as a .bat file.

More examples with different arguments can be found at the end of this article.

Example on PowerShell

There are cases when you need to remotely administer computers for installation/update ZennoPoster. For this:

  1. Connect to the remote computer via SSH

  2. Run the PowerShell script

$pathToInstaller = "C:\Work\ZennoPosterPro-RU-v7.5.1.0.exe" #The path to the build that you want to run $installerArguments = "--silent --accept-license-agreement=https://zennolab.com/terms-of-service/" #Command Line Arguments of the Installer Start-Process -Wait -FilePath "$pathToInstaller" -ArgumentList "$installerArguments"

Detailed description of teams and arguments

General requirements for launching an automatic installation:

  • All arguments must be set starting with a double dash and separated by spaces.

  • The values of the arguments must be escaped by double quotes.

  • Before the setup command, you must add "start /wait" commands. This is necessary for the correct output of errors and for the correct waiting of the end of the installation process by console.

Required arguments

Required arguments

Argument name

The value of argument

Description

Logics

--silent

Not required

Required.
Enables a quiet installation mode

-

--accept-license-agreement=

"https://zennolab.com/terms-of-service/ "

Flag of acceptance of the license agreement.

If there is no reference to the link or the absence of the flag, the installer will expect a manual adoption of the license.

--installType=”” - Type of automatic installation

 

"Default" or no argument

Standard installation type

  • No other versions - installation

  • There is the same version - reinstalling

  • There is only one other version - update

  • There are two or more other versions - a mistake

"UpdateOldest"

Update the oldest version or standard installation

  • No other versions - installation

  • There is the same version - reinstalling

  • There are other versions - update the oldest

"StandAlone"

New installation

  • There is the same version - reinstalling

  • In all other cases - installation

"UpdateByVersion"

Update the specified version.

Assumes the presence of argument --updateVersion=”X.X.X.X”, where X.X.X.X - the version of the product you need to update

  • If the “X.X.X.X” version is present then update it.

  • There is the same version - reinstalling

  • No updated version - error

In one of the launch arguments described below, the product license ID is used as a value. You can find it in UserArea in the Hardware section, as well as for installed products through the registry.

Example of obtaining SaleID via cmd for ZennoPoster Pro V7 v. 7.3.1.0:
reg query "HKCU\SOFTWARE\ZennoLab\RU\ZennoPoster Pro V7\7.3.1.0" /v SaleID

Optional arguments

Optional arguments

Argument name

The value of argument

Logics

--hidden

Not required

Quiet installation. Disables the display of the UI installer and hides it from the taskbar. Incompatible with the --waitUserAction.

--login

Username and user password, on behalf of which it is necessary to make installation.

If there are only one of the arguments of the login and password, the second argument will be reset.

--password

By default, data is used for authorization from the system registry.

--saleID

The license ID used when installing and search for installed products.

With all types of installation, a license with the transmitted SaleID will be selected in the license selection step.

When using “Default” and “UpdateByVersioninstallType , only products with the specified SaleID will be selected when searching for installed products.

--installPath

Path for installation

The product will be installed according to the specified path.

It also applies when reinstalling with a standard directory and update.

--waitUserAction

Not required

Instead of the completion of the process, with any error, the installer will expect user actions and continues an automatic installation after successful transition to the next page.

--activateHardware

true or false

By default = True. When setting the False value, ProjectMaker will work, but Zennoposter will not work.

Table of comparison of types of automatic installation and causes of behavior

Table of comparison of types of automatic installation and causes of behavior

The value of the InstallType argument

Installation

Update

Reinstall

Error

Default

No other versions

There is one other version

This version is already installed.

There are two or more versions

Default” with argument --saleID

There are no other versions with such SaleID

There is one other version with such SaleID

This version is already installed, regardless of SaleID *

There are two or more versions with such SaleID

StandAlone*

Standard logic

-

This version is already installed.

-

UpdateOldest

No other versions

There are other versions - update the oldest

This version is already installed.

-

UpdateOldest” with argument --saleID

There are no other versions with such SaleID

There are other versions with such SaleID - we update the oldest

This version is already installed, regardless of SaleID *

-

UpdateByVersion*

-

The product of the specified version is set - updating it

This version is already installed.

The product of the specified version is not installed.

*Argument --saleID can only be used to select a license because, on one computer, two identical versions per license can not be installed.

Examples

Examples

Examples

Startup command

Behavior by installer

start /wait Installer.exe --silent --accept-license-agreement="https://zennolab.com/en/terms-of-service/ " --hidden

  • Installation type is “Default

  • Data for authorization - from the registry

  • Search among the installed products - in all

  • License Selection - Free

  • Installation path - Default

  • When an error occurs - the completion of the process

  • Silent installation - without the display of the UI installer

start /wait Installer.exe --silent --accept-license-agreement="https://zennolab.com/en/terms-of-service/ " --saleID="SALE_ID"

  • Installation type is “Default

  • Data for authorization - from the registry

  • Search for installed products - by SaleID

  • License Selection - SaleID

  • Installation Path - Default

  • If an error occurs - the completion of the process

start /wait Installer.exe --silent --accept-license-agreement="https://zennolab.com/en/terms-of-service/ " --installType=”StandAlone” --login=”userareaLogin” --password=”userareaPassword” --saleID="SALE_ID" --installPath="D:/ZennoLab/" --waitUserAction

  • Installation type is “StandAlone

  • Authorization data - specified in the arguments

  • Search for installed products - in all

  • License Selection - SaleID

  • Installation path - "D:/ZennoLab/"

  • If an error occurs - the expectation of the user's actions

start /wait Installer.exe --silent --accept-license-agreement="https://zennolab.com/en/terms-of-service/ " --installType=”UpdateOldest” --login=”userareaLogin” --password=”userareaPassword”

  • Installation type is “UpdateOldest

  • Authorization data from the registry

  • Search among the installed products - in all

  • License Selection - SaleID

  • Installation path - Default

  • If an error occurs - the completion of the process

start /wait Installer.exe --silent --accept-license-agreement="https://zennolab.com/en/terms-of-service/ " --installType=”UpdateOldest” --login=”userareaLogin” --password=”userareaPassword” --saleID="SALE_ID" --installPath="D:/ZennoLab/" --waitUserAction

  • Installation type is “UpdateOldest

  • Authorization data - specified in the arguments

  • Search for installed products - by SaleID

  • License Selection - SaleID

  • Installation path - "D:/ZennoLab/"

  • If an error occurs - the expectation of the user's actions

start /wait Installer.exe --silent --accept-license-agreement="https://zennolab.com/en/terms-of-service/ " --installType=”UpdateByVersion” --updateVersion=”X.X.X.X” --login=”userareaLogin” --password=”userareaPassword” --saleID="SALE_ID" --installPath="D:/ZennoLab/"

  • Installation type is “UpdateByVersion

  • Authorization data - specified in the arguments

  • Search for installed products - according to the version, despite SaleID

  • License Selection - SaleID

  • Installation path - "D:/ZennoLab/"

  • If an error occurs - the completion of the process