Resolving GeoSCADA Expert Licensing Error and DB Connection

Claire Rousseau9 min read
SCADA ConfigurationSchneider ElectricTroubleshooting
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Resolving GeoSCADA Expert Licensing Error and DB Connection Failures

Geo SCADA Expert (formerly ClearSCADA) licensing failures typically surface as a generic "Licensing Error" message raised by the Windows TCP/IP stack when the ViewX client (displayed as the server icon in the system tray) cannot establish or maintain a TCP session with the database server. Because the error is propagated from Winsock rather than from Geo SCADA's own licensing module, the message text alone provides no diagnostic context. This article documents the layered diagnostic procedure, registry-level override, log-file forensics, and verification steps required to restore valid licensing state on a Geo SCADA Expert 2019 / 2021 / 2023 deployment.

Field rule: The "Licensing Error" dialog emitted by the ViewX client is a Winsock-level symptom. Treat every occurrence as a TCP connectivity or DB read-path problem until DB server logs prove otherwise. Do not assume a corrupted licence file is the root cause without checking ChangeLicenceFile( IN: File <name> ) entries in the DB log.

1. System Topology Affected

The error path involves three discrete components:

  • ViewX Client — the workstation-based HMI/runtime process that loads ViewX.exe and attempts to bind a TCP socket to the DB server on the configured port (default TCP 5481 for Geo SCADA Expert, formerly 5480 for legacy ClearSCADA installations).
  • DB Server — the DbServer.exe Windows service hosting the historic and configuration database; this is the process that owns and validates the licence.
  • Licence File — a binary artefact (typically ClearSCADA.lic or GeoSCADA.lic) stored on the DB server and registered via HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electric\ClearSCADA\DB\LicenceFile.

Per the Schneider Electric FAQ FA413698, licensing a Geo SCADA server is a two-step process: the server itself must be licensed, and the local ViewX client must separately obtain its seat licence. Failure of either leg produces the same generic Winsock dialog.

2. Root Cause Classification

GeoSCADA Expert licensing failures fall into four causal families. Always classify the failure before attempting remediation.

Class Mechanism Typical Indicator
A — TCP/IP Stack Winsock returns failure before licence handshake completes Generic "Licensing Error" from ViewX, server icon greyed out
B — Licence File Missing Registry value LicenceFile is empty, points to deleted path, or filename case-mismatched DB log contains no ChangeLicenceFile entry on startup
C — Licence File Corrupt Binary signature fails check; build-version mismatch between licence and DB executable DB log shows ChangeLicenceFile( IN: File <name> ) with subsequent error
D — Network/Firewall Security software, Windows firewall, or routing blocks TCP 5481 between client and server Repeated reconnect attempts, partial handshakes visible in Wireshark

3. Step-by-Step Diagnostic Procedure

3.1 Capture the DB Server Log

  1. Open the DB server log directory (default: C:\ProgramData\Schneider Electric\ClearSCADA\DB\Logs on legacy installs, %ProgramData%\Schneider Electric\Geo SCADA Expert\DB\Logs on 2021+).
  2. Locate the current-day log file (e.g., DBServer_YYYYMMDD.log).
  3. Open in Notepad or findstr and search for the literal string ChangeLicenceFile( IN: File.
  4. Record the filename reported between IN: File and the closing parenthesis.

Example query (PowerShell):

Select-String -Path "C:\ProgramData\Schneider Electric\ClearSCADA\DB\Logs\*.log" -Pattern "ChangeLicenceFile\( IN: File"

A hit confirms the DB process read a licence file. The absence of any ChangeLicenceFile entry indicates Class B (licence file missing or registry misconfigured).

3.2 Inspect the Registry Override

Open regedit.exe as Administrator and navigate to:

HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electric\ClearSCADA\DB\LicenceFile

The value must contain the fully qualified path and filename of the active licence file, for example:

REG_SZ  LicenceFile = "C:\ProgramData\Schneider Electric\ClearSCADA\DB\Licence\GeoSCADA.lic"
Case sensitivity: The filename comparison performed by the DB server is case-sensitive on NTFS volumes. geoscada.lic and GeoSCADA.lic are distinct. Verify the actual filesystem casing using dir /x if 8.3 short names are in play.

3.3 Restart the DB Service

Registry modifications are read only at DB service start. Restart the service:

net stop "Schneider Electric ClearSCADA DB Server"
net start "Schneider Electric ClearSCADA DB Server"

On Geo SCADA Expert 2021+ the service name is Geo SCADA Expert DB Server. Confirm with sc query | findstr /i "geo".

3.4 Validate the TCP Handshake

From the ViewX workstation, confirm TCP 5481 reachability:

Test-NetConnection -ComputerName <DBServerFQDN> -Port 5481

Expected output: TcpTestSucceeded : True. A failure here confirms Class D and means the licence issue is secondary — restore network path before re-attempting licensing.

4. Server-Side Licence Configuration Reference

Per the Geo SCADA 2019 Server License Settings documentation, each Geo SCADA Expert system requires a server licence that defines:

  • Which driver families are enabled (DNP3, IEC 60870-5-104, Modbus, OPC UA, etc.)
  • The maximum permitted number of database points (typical tiers: 500, 5,000, 25,000, 100,000, unlimited)
  • The number of concurrent ViewX client seats
  • The number of WebX (browser-based) sessions allowed

The licence is keyed against the server's hardware fingerprint (typically the volume serial of the boot drive or a USB hardlock sentinel). Migrating the licence to replacement hardware requires re-issuance through the AVEVA/Schneider Electric licence portal — a process distinct from the registry override described above.

5. Configuration Problem Reference Matrix

The Geo SCADA 2021 Configuration Problem Details reference lists the following directly-related client-side errors and their remediation:

Symptom Underlying Cause Remediation
"The database file is unsupported or is corrupt" Build-version mismatch between DB file and DbServer.exe Upgrade DB server to a build that supports the existing file, or restore from a compatible backup
"Licensing Error" with no DB log entry TCP 5481 blocked between ViewX and DB server Open firewall rule, fix routing, disable deep-packet-inspection on security appliance
"Licensing Error" with stale ChangeLicenceFile entry Licence file present but not readable by service account Grant the DB service account read permission; verify DACL on .lic file
"A licensing error occurred when the application started" Local ViewX licence missing while server licence valid Re-run ViewX client install with correct licence key, or activate via licence server

6. Field-Proven Remediation Workflow

  1. Verify build compatibility. Confirm DB server build (Help → About within DB Admin Tool) matches the licence file build. A licence issued for 2019 R2 will not load on 2021 R1 without re-issuance.
  2. Confirm registry path integrity. On 64-bit Windows, Geo SCADA reads from HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electric\ClearSCADA\DB regardless of WOW64 redirection. Verify the key exists on both WOW6432Node and native hives if migrating from a 32-bit deployment.
  3. Reset the licence reference manually. Use the registry override documented in Section 3.2 to point at a known-good .lic file copied from a verified working system. Restart the DB service.
  4. Audit service account. The account running DbServer.exe (typically LocalSystem or a domain service account) must have read access to the licence directory and write access to the log directory.
  5. Eliminate security software interference. Temporarily disable endpoint protection on the DB server to confirm. If the error clears, add an exclusion for C:\ProgramData\Schneider Electric\ and the DbServer.exe binary.
  6. Re-test with ViewX on the DB server itself. This isolates whether the fault is local (licence) or remote (network). A local success with remote failure confirms Class D.

7. Verification Checklist

After remediation, confirm all of the following before declaring the issue closed:

  • DB log contains a fresh ChangeLicenceFile( IN: File <GeoSCADA.lic> ) line timestamped after the service restart.
  • No ERROR or FAILED lines follow the ChangeLicenceFile entry for at least 60 seconds.
  • ViewX client launches without the "Licensing Error" dialog.
  • Server icon in the system tray displays the licensed state (typically green).
  • DB Admin Tool → Server Status reports the expected point count and driver count consistent with the licence tier.
  • At least one ViewX client from a remote workstation connects successfully.

8. Common Edge Cases

8.1 Licence persists across reboots but fails randomly. This pattern indicates a transient Winsock condition — typically IPv6 fallback confusion on dual-stack hosts. Force IPv4-only binding in the DB server config file (DBConfig.xml) by setting <IPVersion>IPv4</IPVersion> under the <Network> element.

8.2 Licence file size zero bytes. Indicates an aborted licence activation. Re-request the licence from the Schneider Electric licence portal and verify the file size is non-zero and the binary header matches CSCDLIC or GSEEXP.

8.3 Multi-server (redundant) deployment. In a hot-standby pair, both servers hold independent licence files. A failover that promotes the standby to primary will surface the licence error if the standby licence is missing. Verify both LicenceFile registry values before commissioning the redundant pair.

8.4 Migration to Windows Server 2022. The HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electric\ClearSCADA tree is created on first run of DbServer.exe. If migrating by disk imaging (rather than clean install), ensure the registry hive is intact; missing keys manifest as silent licence-file-not-found errors.

9. Related Configuration Errors

The following client-side errors are commonly co-reported with licensing failures and should be investigated in parallel:

  • "Cannot connect to the database server" — TCP-level failure, typically firewall.
  • "The database has not been configured for this version" — schema upgrade required.
  • "Maximum number of clients exceeded" — concurrent-seat exhaustion, not a Winsock error.
  • "Server is not licensed for this driver" — licence tier insufficient for the requested protocol.

10. Prevention Recommendations

  1. Document the LicenceFile registry value and licence file path in your change-control record.
  2. Back up the HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electric hive alongside the DB backup.
  3. Schedule a quarterly verification that the DB log records a successful ChangeLicenceFile entry on restart.
  4. Monitor TCP 5481 availability between ViewX workstations and the DB server using your standard NMS.
  5. Track Geo SCADA Expert build numbers against the licence issuance date; mismatches indicate expired licences needing re-issue.

FAQ

Where is the GeoSCADA Expert licence file path stored in the Windows registry?

The path is stored as the LicenceFile value under HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electric\ClearSCADA\DB. On Geo SCADA Expert 2021+ the key path is unchanged but the parent hive may show Geo SCADA Expert on clean installs. Modifying this value requires a DB service restart.

What DB log entry confirms the licence file was successfully read?

Search the DB server log for the literal ChangeLicenceFile( IN: File. A successful entry shows the filename loaded; absence of this entry means the DB process never attempted to read a licence file, pointing to registry misconfiguration.

Which TCP port does a Geo SCADA Expert ViewX client use to reach the DB server?

Default TCP port is 5481 on Geo SCADA Expert 2019 and later. Legacy ClearSCADA deployments used 5480. The port is configured in the DB server's DBConfig.xml under the <Network> element and must be allowed through Windows Firewall and any intermediate security appliances.

Does the ViewX client need a separate licence from the DB server?

Yes. Per Schneider Electric FAQ FA413698, licensing is a two-step process: the Geo SCADA server requires its own licence defining drivers, points, and client seats, and each ViewX client must separately obtain a local seat licence. Failure of either leg produces the same generic "Licensing Error" dialog.

Why does the "Licensing Error" dialog not specify a root cause?

The dialog text is generated by the Windows TCP/IP stack (Winsock) when the TCP session between the ViewX client and the DB server cannot be established. The stack layer does not know about licensing semantics, so it returns a generic connectivity failure. The authoritative diagnostic source is the DB server log, not the client-side dialog.

Back to blog