Overview
Siemens SIMATIC WinCC Professional is a 64-bit SCADA/HMI engineering and runtime platform that ships inside the TIA Portal installation package. Each TIA Portal / WinCC release (V16, V17, V18, V19, V20, V21) is bound to a specific SQL Server database instance that stores the project archive, runtime archive, alarms, tags, recipes, and user administration data. Because of that binding, the installation routine refuses to put two WinCC Professional ES (Engineering System) or two WinCC Professional RT (Runtime) versions on the same machine.
This article documents the technical reason for the block, the clean uninstall sequence required to upgrade from one WinCC Professional version to another, and the verification steps that confirm the new installation is healthy. It applies to WinCC Professional V17 through V21; the official parallel-installation rule for V21 is documented in the TIA Portal V21 installation manual and is consistent with the behavior of every WinCC Professional release since V14.
Why Parallel Installation of WinCC Professional Is Blocked
The installation bootstrapper enforces a hard mutex during setup. The mutex is keyed on three identifiers:
- The TIA Portal portal version (e.g., V17, V18, V21).
- The WinCC Professional component set (ES, RT, ES+RT).
- The registered Microsoft SQL Server instance name (default:
WINCCPLUS).
When you launch the setup of a new WinCC Professional version, the bootstrapper scans for any pre-existing WinCC Professional product of an earlier version. If it detects one, it aborts with a setup dialog such as "Parallel installation is not permitted. Please uninstall the existing version first."
According to the TIA Portal V21 Parallel Installation documentation:
"Parallel installation of WinCC Professional V21 (ES or RT) with an earlier version of WinCC Professional (ES or RT) is not permitted."
The same rule applied to V17, V18, V19, and V20. The technical justification is the SQL Server instance binding described in the next section.
Root Cause: SQL Server Instance Binding
WinCC Professional uses a named instance of Microsoft SQL Server (or SQL Server Express) to persist runtime data. The instance is created during the WinCC Professional setup and is named according to the role of the installation.
| Component Installed | Default SQL Instance | Service Display Name |
|---|---|---|
| WinCC Professional ES | WINCCPLUS |
SQL Server (WINCCPLUS) |
| WinCC Professional RT | WINCCPLUS |
SQL Server (WINCCPLUS) |
| WinCC Professional ES + RT combined | WINCCPLUS |
SQL Server (WINCCPLUS) |
| WinCC Runtime Professional (standalone RT) | WINCCPLUS |
SQL Server (WINCCPLUS) |
Because every WinCC Professional version registers the same default instance name (WINCCPLUS), running two versions side-by-side would create:
- Service name collision: The Windows Service Control Manager only allows one service named SQL Server (WINCCPLUS). The second installation would either fail to register the service or silently overwrite the binary paths of the first.
- Database schema mismatch: Each WinCC Professional release ships its own schema version for the project database, archive database, and user database. A V21 service cannot read a V17 schema, and a V17 service cannot write a V21 schema. Cross-version access corrupts both.
-
Registry key collision: The WinCC Professional configuration store under
HKLM\SOFTWARE\Siemens\Automationand the SQL Server registry underHKLM\SOFTWARE\Microsoft\Microsoft SQL Serverare version-pinned. A second install overwrites the first. -
File-system collision: Common program-data directories such as
%ProgramData%\Siemens\Automation\WinCCProfessionalare shared, so runtime archives and project caches would mix.
The WinCC Classic line (WinCC V7.0, 7.2, 7.3, 7.4, 7.5) is excluded for the same reason: it installs its own WinCC SQL instance and uses a different file layout.
Identifying the Active SQL Server Instance
Before any uninstall, enumerate every SQL Server instance present on the engineering or runtime PC. Use one of the following methods.
Method 1: Windows Services Applet
- Open
services.mscas Administrator. - Sort by name and look for entries starting with SQL Server (.
- Record every instance name and its associated WinCC version. Typical values:
WINCCPLUS,WINCCPLUSMIG,WinCC(WinCC V7.x).
Method 2: SQL Server Configuration Manager
- Launch SQL Server Configuration Manager from the Start menu.
- Expand SQL Server Services. Every installed SQL instance is listed with its service state (Running / Stopped).
- Right-click an instance, choose Properties, and confirm the Binary Path. If the path contains
...\Microsoft SQL Server\MSSQL<n>.<x>\MSSQL\Binn\sqlservr.exe" -sWINCCPLUS, that instance is bound to WinCC Professional.
Method 3: Registry Inspection
- Open
regeditand navigate toHKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL. - Each value under this key is an installed instance name (e.g.,
WINCCPLUS). - Cross-reference each value with the corresponding
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\Setupentry to read the SQL Server version and the install path.
Method 4: Command Line
sqlcmd -L
sc query | findstr /I "MSSQL"
reg query "HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL" /s
The output lists every named instance visible on the machine. Any instance that is not the target WinCC Professional instance must be evaluated: if it belongs to a foreign application, leave it alone; if it belongs to the WinCC Professional version being removed, it must be uninstalled.
Pre-Migration Checklist
Execute these steps before launching any uninstall routine. Skipping a step risks losing runtime data.
- Archive the WinCC Professional project. Open the existing project in TIA Portal and run Project > Archive. Save the .zap archive to a network share that is not on the affected PC.
-
Export runtime data. For WinCC Runtime Professional, export the alarm logs, tag logs, and audit trails via WinCC Explorer > Data Management > Export. The native SQL Server tables are
dbo.ALG,dbo.TLG, anddbo.ASB. -
Back up the SQL databases. Use SQL Server Management Studio (SSMS) connected to
localhost\WINCCPLUSto back up every database except the system DBs. Default DB names:CC_PM_<ProjectName>,CC_RT_<ProjectName>,CC_ALG_<ProjectName>,CC_TLG_<ProjectName>. - Document user administration. Export the WinCC user list via WinCC Explorer > User Administration > Export. The export is a CSV that can be re-imported on the new version.
-
Stop every related Windows service. In
services.msc, stop SIMATIC WinCC Professional, S7DOS Help Service, SQL Server (WINCCPLUS), and SQL Server Agent (WINCCPLUS). - Capture license keys. Use Siemens Automation License Manager to record the license ticket for WinCC Professional. The keys are machine-bound and survive a clean uninstall, but recording them avoids a panic call to support.
Uninstall Procedure: WinCC Professional ES and RT
The uninstall must run in this specific order. Reversing the order leaves the SQL instance orphaned and the next install will fail.
Step 1: Uninstall WinCC Professional via Control Panel
- Open Settings > Apps > Installed apps.
- Find every entry that begins with SIMATIC WinCC Professional (ES) or SIMATIC WinCC Runtime Professional (RT).
- Click Uninstall, then Yes when UAC prompts.
- Repeat for the matching TIA Portal entry (e.g., SIMATIC STEP 7 Professional V17) if no other TIA Portal version is to remain on the machine.
Step 2: Run the TIA Portal Cleanup Tool
- Insert the original TIA Portal installation media or mount the ISO that contains the legacy version.
- Navigate to the
Supportdirectory and launchSiemens_TIA_Portal_Cleanup.exe(orTIAPortalCleaner.exefor older media). - Select WinCC Professional and accept the default cleanup scope.
- Reboot when prompted. The cleanup tool removes residual registry keys under
HKLM\SOFTWARE\Siemensand orphaned folders under%ProgramFiles%\Siemens.
Removing the SQL Server Instance
If only the WinCC Professional product is uninstalled but the SQL instance WINCCPLUS remains, the new install will detect the existing instance and either fail or attempt a repair that may corrupt the new database. The dedicated Siemens FAQ titled "How do you uninstall a SIMATIC WinCC Professional or a SIMATIC WinCC Runtime Professional SQL Server Instance?" covers this exact scenario.
Method A: Programs and Features
- Open Programs and Features (
appwiz.cpl). - Look for entries named Microsoft SQL Server 2019 (64-bit) with the instance ID
WINCCPLUSin parentheses, or Microsoft SQL Server 2019 Express similarly tagged. - Select the entry and click Uninstall/Change.
- When prompted, choose Remove and pick the specific
WINCCPLUSinstance. - Reboot when the SQL uninstall completes.
Method B: Silent Removal with setup.exe
Locate the SQL Server setup media bundled with TIA Portal (usually under Support\SQL\<version>\setup.exe) and run:
setup.exe /Action=Uninstall /FEATURES=SQL,AS,RS,IS,Tools /INSTANCENAME=WINCCPLUS /Q
The /Q switch runs the removal silently. Append /IAcceptSQLServerLicenseTerms when invoking setup interactively to bypass the prompt; the silent switch already accepts the current EULA.
Method C: Manual Removal (Last Resort)
If the SQL Server uninstall fails or the entry has already been removed from Programs and Features, the instance can be erased manually. This must be the final option; an error here can destabilize the OS.
- Delete the instance registry key:
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\WINCCPLUS. - Delete the entry under
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\WINCCPLUS. - Stop and delete the services
MSSQL$WINCCPLUSandSQLAgent$WINCCPLUSviasc delete MSSQL$WINCCPLUSandsc delete SQLAgent$WINCCPLUS. - Delete the data directory
C:\Program Files\Microsoft SQL Server\MSSQL<n>.WINCCPLUS\. - Remove the leftover folder
%ProgramData%\Microsoft\Microsoft SQL Server\WINCCPLUS.
sc query MSSQL$WINCCPLUS. A "service does not exist" result confirms the instance is gone.Installing the Target Version
With the old ES, RT, and SQL instance fully removed, install the target WinCC Professional release.
- Disable antivirus real-time scanning temporarily; TIA Portal setups are large and AV hooks slow them dramatically.
- Mount the TIA Portal Vxx ISO and run
Start.exeas Administrator. - Choose Install > User-defined installation and tick the WinCC Professional ES and/or RT components.
- Accept the default SQL instance name (
WINCCPLUS). Do not change it; downstream WinCC clients expect that exact name. - When the setup offers to install Microsoft SQL Server, accept. The bundled Express edition is sufficient for projects under 2 GB of archive data; for larger projects install the full SQL Server from the same media.
- After setup finishes, reboot and run Siemens Automation License Manager to move the existing license ticket onto the new version.
Verifying the New Installation
Run the following checks before signing off the migration.
| Check | Method | Expected Result |
|---|---|---|
| SQL instance is running | sc query MSSQL$WINCCPLUS |
STATE: 4 RUNNING |
| SQL instance is reachable | SSMS connect to localhost\WINCCPLUS with Windows auth |
Object Explorer shows system DBs + WinCC project DBs |
| TIA Portal opens without error | Launch TIA Portal Vxx | No "SQL connection failed" dialog |
| WinCC Professional RT starts | WinCC Explorer > RT Start | Runtime window appears, no red status bar |
| Archived project restores | TIA Portal > Project > Retrieve > select .zap | Project loads; no migration warnings |
| Alarm/tag logging writes | Force a test alarm and inspect dbo.ALG / dbo.TLG via SSMS |
New row inserted with current timestamp |
| No leftover service entries | sc query | findstr /I "WINCCPLUS" |
Only the expected new services are listed |
Troubleshooting Common Errors
| Symptom | Likely Cause | Resolution |
|---|---|---|
| Setup halts with "Another version of WinCC Professional is already installed" | Legacy ES or RT entry still in Programs and Features | Uninstall the entry, run the TIA Portal Cleanup Tool, reboot |
| Setup halts with "The SQL instance WINCCPLUS is already in use" | SQL instance not removed or service still registered | Run sc delete MSSQL$WINCCPLUS, then remove instance via Programs and Features |
| TIA Portal opens but cannot create a WinCC project | WinCC Professional ES component not selected during setup | Modify setup, add WinCC Professional ES, reboot |
| WinCC RT shows "Database not accessible" at start | SQL service not running or firewall blocks localhost\WINCCPLUS
|
Start the SQL service, verify named-pipes and TCP/IP enabled in SQL Server Configuration Manager |
| License error after migration | License ticket bound to old TIA Portal version | Return ticket in Automation License Manager, transfer to new version |
| Performance degradation after migration | SQL Server Express limits hit on large archives | Upgrade to full SQL Server from the TIA Portal media |
| Cannot install SQL Server Express (Setup error 0x851A001A) | Leftover registry key from a half-removed instance | Delete HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\WINCCPLUS and retry |
Best Practices and Alternate Strategies
For production fleets where multiple TIA Portal versions must be supported simultaneously, the single-PC limit can be sidestepped with one of the following architectures:
- Virtual machines: Run one WinCC Professional version per VM. This is the official workaround when a customer must maintain engineering stations for both V17 and V21.
- Dedicated engineering PCs: Maintain one physical machine per major TIA Portal version. Best for long-running project lifecycles where recompiling against a new WinCC version is risky.
-
Containerized WinCC Professional RT: Since V19, WinCC Runtime Professional is officially supported on Windows Server containers with Hyper-V isolation. Each container hosts its own
WINCCPLUSinstance in isolation. - Central archive server: Run WinCC Runtime Professional RT on one PC and point multiple ES workstations at it via the SQL Server network configuration. This isolates the SQL instance to one machine and avoids the parallel-install problem on the ES.
WINCCPLUS instance databases using SQL Server Maintenance Plans. A nightly full backup plus hourly transaction-log backup protects against silent archive corruption.FAQ
Why can I not have two WinCC Professional versions installed on the same PC?
Each WinCC Professional release registers a Microsoft SQL Server instance named WINCCPLUS and binds its services, registry keys, and program-data folders to that instance. Two versions would collide on the service name, the schema version, and the configuration store, so the setup routine blocks parallel installation of any WinCC Professional ES or RT version with another.
Can WinCC Professional coexist with WinCC V7 (WinCC Classic)?
No. WinCC V7.x installs its own WinCC SQL instance and a different set of Windows services. Mixing the two SCADA families on one machine produces the same instance collision and runtime-data corruption described in this article. Use separate PCs or virtual machines when both product lines are required.
How do I remove the WinCC Professional SQL Server instance cleanly?
Uninstall the SQL Server entry from Programs and Features (or run setup.exe /Action=Uninstall /FEATURES=SQL /INSTANCENAME=WINCCPLUS /Q from the bundled SQL media), then run the TIA Portal Cleanup Tool from the installation media. If the entry no longer appears in Programs and Features, delete the instance via sc delete MSSQL$WINCCPLUS and remove the matching keys under HKLM\SOFTWARE\Microsoft\Microsoft SQL Server. Verify with sc query MSSQL$WINCCPLUS before reinstalling.
Does this rule change for TIA Portal V21?
No. The TIA Portal V21 parallel-installation documentation explicitly states that WinCC Professional V21 ES or RT cannot be installed in parallel with an earlier WinCC Professional ES or RT. The migration procedure is identical to the V17/V18/V19/V20 procedure.
Can I keep the SQL database files when I uninstall WinCC Professional?
Yes. Before running any uninstall, back up every database except the SQL system DBs through SQL Server Management Studio (right-click > Tasks > Back Up) and copy the .bak files off the machine. After the new version is installed and the fresh WINCCPLUS instance is running, restore those backups onto the new instance. The native WinCC database schema is forward-compatible within a major TIA Portal generation.