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.
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.exeand 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.exeWindows service hosting the historic and configuration database; this is the process that owns and validates the licence. -
Licence File — a binary artefact (typically
ClearSCADA.licorGeoSCADA.lic) stored on the DB server and registered viaHKEY_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
- Open the DB server log directory (default:
C:\ProgramData\Schneider Electric\ClearSCADA\DB\Logson legacy installs,%ProgramData%\Schneider Electric\Geo SCADA Expert\DB\Logson 2021+). - Locate the current-day log file (e.g.,
DBServer_YYYYMMDD.log). - Open in Notepad or
findstrand search for the literal stringChangeLicenceFile( IN: File. - Record the filename reported between
IN: Fileand 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"
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
- 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.
-
Confirm registry path integrity. On 64-bit Windows, Geo SCADA reads from
HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electric\ClearSCADA\DBregardless of WOW64 redirection. Verify the key exists on bothWOW6432Nodeand native hives if migrating from a 32-bit deployment. -
Reset the licence reference manually. Use the registry override documented in Section 3.2 to point at a known-good
.licfile copied from a verified working system. Restart the DB service. -
Audit service account. The account running
DbServer.exe(typicallyLocalSystemor a domain service account) must have read access to the licence directory and write access to the log directory. -
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 theDbServer.exebinary. - 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
ERRORorFAILEDlines follow theChangeLicenceFileentry 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
- Document the
LicenceFileregistry value and licence file path in your change-control record. - Back up the
HKEY_LOCAL_MACHINE\SOFTWARE\Schneider Electrichive alongside the DB backup. - Schedule a quarterly verification that the DB log records a successful
ChangeLicenceFileentry on restart. - Monitor TCP 5481 availability between ViewX workstations and the DB server using your standard NMS.
- 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.