Multiple Instances

Install several EnvisionSCADA instances on one server. Each instance has its own project, databases, license and web address, and is updated on its own.

Updated 10 min read
On this page (11 sections)
  1. Overview
  2. Program Files and Data Folders
  3. Install
  4. Add Instance
  5. Ports
  6. Update
  7. Maintain
  8. Uninstall
  9. Start Checks
  10. Licenses
  11. Unattended Installation

Setup installs EnvisionSCADA as one or more instances on one server. Each instance is a separate EnvisionSCADA system with its own project, databases, license, IIS site and web address. Instances are added, updated and removed one by one. An update of one instance leaves the other instances running their version.

Every program version is installed once, in C:\Program Files\EnvisionSCADA\<version>, and serves every instance that runs it. The data of an instance (databases, project files, logs and Python libraries) is in its own data folder. A program version stays installed while an instance runs it. Setup removes it when no instance uses it any more.

On a server with instances, use only the setup of version 2026/11/02 or later. Setups of earlier versions are written for a single installation.

Program Files and Data Folders

ItemLocationContents
Program filesC:\Program Files\EnvisionSCADA\<version>The program of one version. Only setup changes this folder.
Data folderC:\ProgramData\EnvisionSCADA\<instance>, or the folder chosen in Add instanceDatabase (Configuration.db, Historian.db, Local.db and the configuration backups), Project, Logs, PythonLibraries and wwwroot (uploaded images, My Library symbols and online project files).
Data folder of a taken-over installationThe installation folder of the earlier version, by default C:\inetpub\wwwroot\EnvisionSCADAThe data of the instance EnvisionSCADA stays where the earlier version installed it.

Only SYSTEM, the Administrators group and the IIS app pool of the instance have access to its data folder. One instance cannot read the databases of another, and a logged-on user cannot copy them.

The data folder belongs to the instance, not to the project. Export Project and Import Project work as on a single installation, and a project exported from one instance can be imported into another. To move a data folder, remove the instance with Keep the data folder, move the folder, and add the instance again with Existing data folder.

Other articles call the folder with the databases, project files and logs the installation folder. On a server with instances, that is the data folder of the instance.

Where antivirus exclusions are in use, add C:\Program Files\EnvisionSCADA and the data folders to them.

Install

Start the setup and accept the End-User Licence Agreement. The Installation Type page offers two options:

OptionDescription
Default InstallationInstalls the instance EnvisionSCADA on port 80 with the demo project. Install starts the installation.
Custom InstallationNext opens the Instances page, where you choose the instances, their web addresses, data folders and projects, and the program folder.

When the port or the data folder of the default instance is in use, the page shows the reason and selects Custom Installation, where the setting can be changed.

The Instances page lists the instances setup creates:

ColumnDescription
InstanceThe name of the instance. The IIS site and app pool are named after it.
Web addressThe address of the HTTP binding, or of the HTTPS binding for an instance without HTTP.
Data folderThe data folder of the instance.
Starts withThe project the instance starts with: Empty project, Demo project, the name of a project file, or Existing project for a taken-over installation or an existing data folder.

On a new server the list holds the instance EnvisionSCADA on port 80 with the demo project. Use Add instance..., Edit... and Remove to change the list. Program files shows the folder of the program files. On the first installation, Change... selects another folder; a folder outside Program Files receives the permissions of Program Files.

With both options, Install enables IIS and installs the program files, the ASP.NET Core Hosting Bundle and Python, then creates and starts the instances. The last page lists the instances with their web address, and Open opens an instance in the browser. Restart Windows when setup asks for it.

On a server installed with a version before 2026/11/02, Default Installation takes over the existing installation as the instance EnvisionSCADA. In a Custom Installation the list holds it with Existing project. Setup keeps its project, databases, IIS site, bindings and HTTPS certificate. The installation folder becomes the data folder of the instance, and the site runs the program from C:\Program Files\EnvisionSCADA. The earlier version is removed from Apps & Features.

Add Instance

Add instance... opens the settings of a new instance. Setup checks every setting while it is entered and enables OK when the instance can be created.

SettingDescriptionExample
Name1 to 40 letters, digits, - or _, starting with a letter or digit. The IIS site and app pool are named EnvisionSCADA-<Name>. The first instance, EnvisionSCADA, keeps the name EnvisionSCADA.Line2
Host nameOptional. With a host name, several instances can share a port, each with its own host name, and the HTTPS binding uses Server Name Indication (SNI).line2.plant.local
IP addressThe IP address of the bindings of the instance. All Unassigned answers on every address of the server. Select an address to limit the instance to that address. Setup treats instances and IIS sites on different addresses as separate, so they can use the same port.All Unassigned
HTTPAdd an HTTP binding adds an HTTP binding on the given port. Setup checks the port against the other instances, the other IIS sites and the ports other programs listen on. Clear it for an instance that is reached over HTTPS only.8081
HTTPSAdd an HTTPS binding adds an HTTPS binding on the given port, with a certificate from Local Computer, Personal or Web Hosting. The list shows the certificates with a private key that are valid for server authentication. An instance needs at least one of the two bindings.443
Data folderNew data folder: an empty folder, created when it does not exist. Existing data folder: the data folder of a removed instance or of another installation. Setup shows the version that last ran the project; the instance updates the database at its first start.C:\ProgramData\EnvisionSCADA\Line2
Starts withEmpty project, Demo project, or Project file (.envision): an Export Project file the instance imports at its first start. With an existing data folder the instance starts with the project in it.Demo project
ShortcutsDesktop shortcuts for this instance (Chrome, Kiosk) creates Envision <Name> (Chrome) and Envision <Name> Kiosk (Chrome) on the desktop of every user. For the instance EnvisionSCADA they are named Envision (Chrome) and Envision Kiosk (Chrome).

Ports

Each instance needs its own HTTP port, and its own HTTPS port when it has one, unless the instances are told apart by host name.

The same applies to the servers an instance runs itself: two instances cannot listen on the same port. When more than one instance enables one of these servers, give each of them its own port on the Parameters page:

ServerDefault port
OPC UA server4840
Modbus TCP server502
MQTT broker1883, and 8883 with TLS

BACnet devices are configured in one instance per server. All BACnet communication of a server uses UDP port 47808, and the answers of a device reach one instance only.

Update

Start the setup of the new version and accept the End-User Licence Agreement. The Update instances page lists the instances:

ColumnDescription
UpdateThe selected instances switch to the new version. An instance that already runs it cannot be selected.
VersionThe version the instance runs.
Support untilThe last month the license support of the instance covers. A warning sign marks an instance whose license support ends before the new version. It would start in Demo Mode on the new version, so it is not selected.
NowRunning or Stopped.

Only the selected instances stop; the other instances keep running their version. A stopped instance stays stopped and updates its database at its next start.

With Back up the configuration database of each selected instance first, setup copies Configuration.db to the Database folder of the instance, as Configuration_yyyy-MM-dd-HH-mm-ss.db, after the instance has stopped.

After the update, setup removes the program versions no instance runs any more.

An instance that is not selected can be updated later: run the same setup again, select the instance on the Maintain EnvisionSCADA page and click Update....

Maintain

Run the setup of the installed version again, or click Modify for EnvisionSCADA in Apps & Features, to open Maintain EnvisionSCADA. It lists the instances with their data folder, version and state. Changes are collected in the list and carried out with Apply changes; only the instances that change stop.

ButtonFunction
Add instance...Adds an instance with the settings described under Add Instance. The instance runs the version of this setup.
Remove...Removes the IIS site, the app pool and the desktop shortcuts of the instance. Keep the data folder leaves its databases, project files and logs on disk. Delete the data folder permanently deletes them, after the name of the instance is typed to confirm.
Update...Switches the instance to another installed program version, optionally after a backup of its configuration database.
Undo changeWithdraws the change of the selected instance.
Open in browserOpens the web address of the instance.
RepairRepairs the program files, and puts the IIS settings and permissions of every instance back as setup made them.
Uninstall...Opens the Uninstall EnvisionSCADA page.
Apply changesCarries out the changes in the list.
An earlier version cannot open a database that a later version has updated. To switch an instance back to an earlier version, restore the configuration backup made before the update first. Otherwise the instance shows a page that it cannot start.

Uninstall

Uninstall... on the Maintain page, or Uninstall for EnvisionSCADA in Apps & Features, removes all program versions and the IIS sites and app pools of all instances. The ASP.NET Core Hosting Bundle, Python and the Windows features stay installed.

The data folders are kept, unless Also delete these data folders permanently is selected and DELETE is typed to confirm. A kept data folder can be attached to a later installation with Add instance, Existing data folder.

Start Checks

An instance that cannot start on its data folder shows the page EnvisionSCADA cannot start with the reason, and starts no communication. Its databases are not changed. The details are in the Windows Application event log. Resolve the cause and restart the instance; the page reloads every 30 seconds.

MessageCause
The data folder of this instance holds no database. Add a new instance with the EnvisionSCADA setup, or attach the data folder of an existing one.The data folder holds no Configuration.db and was not created by setup for a new instance.
This instance has run before, but its data folder no longer holds its configuration database. Restore the database, or correct the data folder with the EnvisionSCADA setup.Configuration.db was deleted or moved.
The data folder of this instance was last used by a newer version of EnvisionSCADA. Start it with that version, or restore a backup made with this version.The instance was switched to an earlier version, or an existing data folder of a later version was attached.
The data folder of this instance does not exist. Restore it, or correct the instance with the EnvisionSCADA setup.The data folder was deleted, renamed or is on a drive that is not available.

Licenses

Each instance needs its own license. The Computer ID is the same for every instance on a server: request the Activation Code of each instance with that Computer ID and the License Code of its own license.

A license runs in one instance at a time. When a second instance starts with the Activation Code of a license that is already running on the server, its License page shows This license is already in use by another instance on this server. and it runs in Demo Mode. It takes the license within a minute after the other instance has stopped.

Unattended Installation

Setup runs without screens with /quiet, and with the progress page only with /passive. Run it from an elevated command prompt.

Without a plan file, setup installs the instance EnvisionSCADA on port 80 with the demo project on a new server, takes over a server installed with a version before 2026/11/02, or updates every instance whose license support covers the new version, each with a backup of its configuration database. /uninstall removes every instance and program version and keeps the data folders. /norestart leaves the restart to the operator; /forcerestart restarts Windows when the installation requires it.

A plan file defines what setup changes. Pass it with EnvisionPlan:

Command prompt (Administrator)
"EnvisionSCADA <version> MultiInstance.exe" /quiet /norestart EnvisionPlan=C:\Setup\plan.json

Every program version contains the instance tool, InstanceTool\EnvisionSCADA.InstanceTool.exe in its program folder. It lists the instances, writes an example plan, checks a plan, and carries out a plan on the installed program versions. With --dry-run it shows the commands a plan would run without changing anything.

Instance tool
EnvisionSCADA.InstanceTool.exe list
EnvisionSCADA.InstanceTool.exe example C:\Setup\plan.json
EnvisionSCADA.InstanceTool.exe validate C:\Setup\plan.json
EnvisionSCADA.InstanceTool.exe apply C:\Setup\plan.json --dry-run

The plan file written by example:

plan.json
{
  "Operations": [
    {
      "Action": "Add",
      "BackupConfiguration": false,
      "CertificateThumbprint": "",
      "DataFolder": "C:\\ProgramData\\EnvisionSCADA\\Line2",
      "DeleteDataFolder": false,
      "DemoProject": false,
      "DesktopShortcuts": true,
      "ExistingDataFolder": false,
      "HostName": "",
      "HttpPort": 8081,
      "HttpsPort": 0,
      "Name": "Line2",
      "ProjectFile": "",
      "Version": ""
    },
    {
      "Action": "Update",
      "BackupConfiguration": true,
      "CertificateThumbprint": "",
      "DataFolder": "",
      "DeleteDataFolder": false,
      "DemoProject": false,
      "DesktopShortcuts": true,
      "ExistingDataFolder": false,
      "HostName": "",
      "HttpPort": 80,
      "HttpsPort": 0,
      "Name": "EnvisionSCADA",
      "ProjectFile": "",
      "Version": ""
    }
  ],
  "ProgramVersion": "2027.02.01.2",
  "RemoveUnusedVersions": true,
  "RestartIis": false
}

The fields that count depend on the Action:

ActionFields
AddName, HttpPort (0 for no HTTP binding), IpAddress (empty for All Unassigned), HostName, HttpsPort, CertificateThumbprint, CertificateStore (MY for Personal, or WebHosting), DataFolder, ExistingDataFolder, DemoProject, ProjectFile, DesktopShortcuts
UpdateName, Version (empty for the version of the setup, or another installed version), BackupConfiguration
RemoveName, DeleteDataFolder
RepairName
Setup exit codeMeaning
0Completed.
3010Completed. Restart Windows to finish.
1602Cancelled.
1603Failed. The setup log holds the reason.
Something missing or wrong in this article? Contact us