Silent Installation

The Windows Installer Setup can also be executed silently without human interaction. This allows it to be used in Deploy-by-Code scenarios, where the Windows Installer Setup needs to be executed on many servers.

Setup Configuration

The configuration for the setup is provided in form of an XML configuration file. Supported XML parameters listed below. For parameters, which are not set in the XML configuration file, the default values will be applied.

Installation Parameters

In this section general installation parameters are covered. For more specific installation options, see the specific sections.

Table 1. Installation Parameters
Parameter Description Default Value

InstallFolder

Defines installation folder.

c:\inmation.root

PIDKey

Defines the product key.

InstanceName

Defines the instance name of the inmation services. Leave empty if no instance name is to be used.

OverrideObjectName

Defines the name of the Core/Server/Connector objects. This name must not contain spaces.

InstallCore

If set to 1, the Core service will be installed. Then 'IntegrateMongoDB' also needs to be set to 1 and Core Parameters, MongoDB Authentication Parameters and MongoDB Connection Parameters need to be configured. Possible values: 0 or 1.

1

OfflineInstallMongoDb

If set to 1, the setup tries to install MongoDB using the MongoDB installer which is configured in the LocationMongoDbMsi parameter. MongoDB Installation Parameters need to be configured. Possible values: 0 or 1.

0

IntegrateMongoDb

If set to 1, MongoDB will be integrated. MongoDB Configuration Parameters need to be configured. Possible values: 0 or 1.

0

InstallConnector

If set to 1, a Connector service will be installed. Then Connector Parameters need to be configured. Possible values: 0 or 1.

1

InstallRelay

If set to 1, a Relay service will be installed. Then Relay Parameters need to be configured.
Possible values: 0 or 1.

1

InstallServer

If set to 1, an OPC server service will be installed. Then Server Parameters need to be configured.
Possible values: 0 or 1.

1

InstallWebApi

If set to 1, a Web API server will be installed. Then WebAPI Parameters need to be configured.
Possible values: 0 or 1.

1

InstallDataStudio

If set to 1, DataStudio will be installed. Possible values: 0 or 1.

1

InstallOpcComponents

If set to 1, the OPC Core Components will be installed. Possible values: 0 or 1.

1

ConfigureFirewall

If set to 1, the Windows firewall settings will be configured. Possible values: 0 or 1.

1

Intercomponent Communication Parameters

If any system component (Core, Server, Connector, Relay) is to be installed, these parameters need to be provided.

Table 2. Intercomponent Communication Parameters
Parameter Description Default Value

CoreHost

Defines host of the Core service.

localhost

CorePort

Defines port number of the Core service.

6512

PassPhrase

Sets a custom passphrase according to the Password Policy; mandatory.

SecurityMode

No effect - On installation, TLS-SRP is used as the security mode for inter-component Communication. This can be reconfigured in DataStudio once the system is installed.

Core Parameters

If a Core component is to be installed due to InstallCore being set to 1 (in the 'Installation Parameters' section), these parameters configure the Core component.

Table 3. Core Parameters
Parameter Description Default Value

CoreProfileName

If a Core is being installed, this defines the name of the profile which will be created for Core owner.

CoreProfilePassword

If a Core is being installed, this defines the password of the profile which will be created for Core owner.

CoreProfileEnableLogin

If a Core is being installed, this defines if the profile created for the Core owner will be active. Possible values: 0 or 1.

0

CoreSystemOwner

If a Core is being installed, this defines the Microsoft account or group assigned to Core the owner profile.

domain and name of the current user

IsCoreSystemOwnerGroup

If a Core is being installed, this defines if the previous entry is a group. Possible values: 0 or 1.

0

EncryptedConnectionsOnly

If set to one, encrypted Intercomponent Communication is required. Possible values: 0 or 1.

1

CreateSecurityPerimeter

If set to 1, a Security Perimeter object will be created. This is only possible when a Master Core is being installed.

0

EnableAuditTrail

If set to 1, the audit trail will be enabled. Possible values: 0, 1 or 2. 0 means disable, 1 means enable, 2 means enable Audit Trail + enable mandatory Audit Trail user comments.

0

LocalCore

If set to 1, the new Core service will be installed as a Local Core. Possible values: 0 or 1.

0

SecondaryCore

If set to 1, the new Core service will be installed as a Secondary Core. Possible values: 0 or 1.

0

SecondaryLocalCore

If set to 1, the new Core Service will be installed as a Secondary Local Core. Possible values: 0 or 1.

0

MasterCoreOrRelayHost

If a Local Core or Secondary Core is being installed, this defines the host of the Master Core or Relay for this Core.

MasterCoreOrRelayPort

If a Local Core or Secondary Core is being installed, this defines the port of the Master Core or Relay for this Core.

6512

LocalCoreOrRelayHost

If a Secondary Local Core is being installed, this defines the host of the Local Core or Relay for this Core.

LocalCoreOrRelayPort

If a Secondary Local Core is being installed, this defines the port of the Local Core or Relay for this Core.

6512

MongoDB Authentication Parameters

These parameters are used for the integration of MongoDB AND for the configuration of the system, so that a connection between the system and MongoDB can be established.
If a Core component is to be installed due to InstallCore being set to 1 and/or MongoDB is to be integrated due to IntegrateMongoDb being set to 1, these parameters configure the MongoDB authentication.

Table 4. MongoDB Authentication Parameters
Parameter Description Default Value

MongoDbAuthentication

Defines authentication used for MongoDB. Possible numeric values are: 1 (none), 3 (SCRAM-SHA-1), 6 (SCRAM-SHA-256).

6

MongoDbUserName

Defines user name used for MongoDB authentication.

MongoDbPassword

Defines user password used for MongoDB authentication.

MongoDB Connection Parameters

The parameters of this section define how the system will be configured to connect to MongoDB.

Table 5. MongoDB Connection Parameters
Parameter Description Default Value

CoreMongoDbHost

If a Core is being installed and MongoDB is no replica set, this defines a host of MongoDB used by the Core service.

localhost

CoreMongoDbPort

If a Core is being installed and MongoDB is no replica set, this defines a port of MongoDB used by the Core service. This is the system’s counterpart for MongoDbPort of the MongoDB Configuration Parameters.

27017

IsMongoDbReplicaset

If Core is being installed, this defines if the Core is using a MongoDB replica set. Possible values: 0 or 1.

0

MongoDbReplicasetName

If the Core is being installed, this defines the replica set name.

MongoDbReplicasetPrimaryHost

If a Core is being installed, this defines the primary member host of the replica set.

MongoDbReplicasetPrimaryPort

If a Core is being installed, this defines the secondary the host of the first secondary member of the MongoDB replica set.

27017

MongoDbReplicasetSecondaryHost1

If a Core is being installed, this defines the host of the first secondary member of the MongoDB replica set.

MongoDbReplicasetSecondaryPort1

If a Core is being installed, this defines the port of the second secondary member of the MongoDB replica set.

27017

MongoDbReplicasetSecondaryHost2

If a Core is being installed, this defines the host of the second secondary member of the MongoDB replica set.

MongoDbReplicasetSecondaryPort2

If Core is being installed, this defines second replica set secondary port.

27017

MongoDB Installation Parameters

If you have a Mongodb.msi file on your machine, the installer can install MongoDB for you. This section lists the parameters which will be used for the MongoDB installation if OfflineInstallMongoDb is set to 1. Otherwise they are ignored.

Table 6. MongoDB Installation Parameters
Parameter Description Default Value

LocationMongoDbMsi

If offline MongoDB installation is applied, this defines the path to MongoDB installer. (i.e. c:\mongo\ mongodb-windows-x86_64-5.0.3-signed.msi)

LocationMongoDb

If OfflineInstallMongoDb is set to 1, this parameter defines where MongoDB will be installed.

MongoDB Configuration Parameters

If MongoDB is to be integrated due to IntegrateMongoDb being set to 1, these parameters define the configuration of MongoDB. Otherwise they are ignored.

Table 7. MongoDB Configuration Parameters
Parameter Description Default Value

MongoDbBinDirectory

If IntegrateMongoDb is set to 1, this defines the MongoDB binary files directory

[WindowsVolume]\[Program Files]\MongoDB\Server\5.0\bin\

MongoDbLogDirectory

If IntegrateMongoDb is set to 1, this defines the MongoDB log files directory.

[InstallationFolder]\MongoDB\data\

MongoDbDataStorageDirectory

If IntegrateMongoDb is set to 1, this defines the MongoDB data storage directory.

[InstallationFolder]\MongoDB\data\

MongoDbServiceName

If IntegrateMongoDb is set to 1, this defines the MongoDB service name.

MongoDB

MongoDbPort

If IntegrateMongoDb is set to 1, this defines the MongoDB port number.

27017

MongoDbIpBindingLocal

If IntegrateMongoDb is set to 1 and this is set to 1, MongoDB binaries bind to localhost. Possible values: 0 or 1.

1

MongoDbKeyFile

Defines the path to the file used for keyfile MongoDB authentication. The keyfile is used to secure the communication between replica set members. This parameter is required when a member of MongoDB replica set is configured.

InstallMongoDbReplicaSetPrimary

If the system integrates with MongoDB and this is set to 1, the database instance will be configured as the primary member of a replica set. Possible values: 0 or 1.

0

InstallMongoDbReplicaSetSecondary

If the system integrates with MongoDB and this is set to 1, the database instance will be configured as the secondary member of a replica set. Possible values: 0 or 1.

0

InstallMongoDbReplicasetSecondaryHost1

If InstallMongoDbReplicasetSecondary is set to 1, this configures the host of the first secondary member of the MongoDB replica set.

InstallMongoDbReplicasetSecondaryPort1

If InstallMongoDbReplicasetSecondary is set to 1, this configures the port of the first secondary member of the MongoDB replica set.

InstallMongoDbReplicasetSecondaryHost2

If InstallMongoDbReplicasetSecondary is set to 1, this configures the host of the second secondary member of the MongoDB replica set.

InstallMongoDbReplicasetSecondaryPort2

If InstallMongoDbReplicasetSecondary is set to 1, this configures the port of the second secondary member of the MongoDB replica set.

Connector Parameters

If a Connector component is to be installed due to InstallConnector being set to 1, these parameters define the configuration of this component. Otherwise they are ignored.

Table 8. Connector Parameters
Parameter Description Default Value

ConnectorListenerPort

Defines port number of the Connector service. This parameter is used when passive Connecter is being installed.

6510

ConnectorActiveComponent

If InstallConnector is set to 1, the Connector will be installed as an active component if this is set to 1. When set to 0, the Connector will be installed as a passive component. Possible values: 0 or 1.

0

ForceConnector86

If set to 1, the 32 bit version of the Connector service will be installed. Possible values: 0 or 1.

0

Relay Parameters

If a Relay component is to be installed due to InstallRelay being set to 1, these parameters define the configuration of this component. Otherwise they are ignored.

Table 9. Relay Parameters
Parameter Description Default Value

RelayPort

Defines port number of the Relay service.

6511

RelayActiveComponent

If this is set to 1, the Relay will be installed as an active component. When this is set to 0, the Connector will be installed as a passive component. Possible values: 0 or 1.

0

ForceRelay86

If set to 1, the 32 bit version of the Relay service will be installed. Possible values: 0 or 1.

0

Server Parameters

If a Server component is to be installed due to InstallServer being set to 1, these parameters define the configuration of the Server component. Otherwise they are ignored.

Table 10. Server Parameters
Parameter Description Default Value

ForceServer86

If set to 1, the 32 bit version of the OPC server will be installed. Possible values: 0 or 1.

0

WebAPI Parameters

If a WebAPI Server is to be installed due to InstallWebApi being set to 1, these parameters define the configuration of the WebAPI server. Otherwise they are ignored.

Table 11. WebAPI Parameters
Parameter Description Default Value

WebApiProfileName

This defines the name of the profile for Web API.

WebApiProfilePassword

This defines the password of the profile for Web API.

WebApiInstanceName

This defines the name of Web API service. Leave empty for default.

inmation Web API

WebApiEnableTls

This defines if TLS encryption will be used for communication between Core and Web API. Possible values: 0 or 1.

1

ISA95 Parameters

These parameters can used to create an object in the ISA-95 Equipment Model.

Table 12. ISA95 Parameters
Parameter Description Default Value

CreateISA95Object

If set to 1, ISA95 objects will be created. Possible values: 0 or 1. Creation of this object is possible only if a Master Core is being installed.

0

ISA95ObjectName

If CreateISA95Object is set to 1, this defines the name of the ISA95 object.

ISA95ObjectParent

If CreateISA95Object is set to 1, this defines a path to parent of ISA95 object .

ISA95ObjectDescription

If CreateISA95Object is set to 1, this defines the description of the ISA95 object .

ISA95ObjectType

If CreateISA95Object is set to 1, this defines a type of the ISA95 object .

KPI Parameters

These parameters can be used to create an object in the KPI Model.

Table 13. KPI Parameters
Parameter Description Default Value

CreateKPIObject

If set to 1, the KPI object will be created. Possible values: 0 or 1. Creation of this object is possible only if a Master Core is being installed.

0

KPIObjectParent

If CreateKPIObject is set to 1, this defines the path to parent of the KPI object.

KPIObjectName

If CreateKPIObject is set to 1, this defines the name of the KPI object.

KPIObjectDescription

If CreateKPIObject is set to 1, this defines the description of the KPI object.

KPIObjectType

If CreateKPIObject is set to 1, this defines a type the KPI object.

MSI Parameters

When installing a Master Core, these parameters can be used to create an MSI Message Broker and a Message Processor object.

Table 14. MSI Parameters
Parameter Description Default Value

CreateMSIObjects

If the Master Core is being installed and this is set to 1, MSI Message Broker and Message Processor objects will be created. Possible values: 0 or 1.

0

MSIVersion

If CreateMSIObjects is set to 1, this defines the MSI version used to create the MSI Message Broker object. Accepted are numbers or Lua constants.

MSISystemId

If CreateMSIObjects is set to 1, this defines the MSI system ID used to create the MSI Message Broker object. Accepted are numbers.

Simple Silent Mode Setup

The following Powershell script illustrates a simple way to run Windows Installer Setup in silent mode:

$InstallSource = "D:\installation\inmationSetup.exe"
$InstallLog = $InstallSource.replace('exe','log.txt')
$InstallConfig = $InstallSource.replace('exe','xml')
Start-Process $InstallSource -ArgumentList "-passive -install -norestart -l $InstallLog USECONFIG=""$InstallConfig""" -Wait

Silent Mode Full Setup using a Deployment Template

Alternatively Silent Mode Full Setup can be used with a deployment template. For more information see the Deployment Template Setup