WinCC Professional V21: Fixing Parallel Install SQL Conflicts

David Krause12 min read
SCADA ConfigurationSiemensTroubleshooting
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

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.

Critical constraint: Two engineering versions of WinCC Professional cannot coexist on one PC, and WinCC Professional cannot coexist with WinCC Classic (WinCC V7.x). The SQL Server instance conflict is the root cause in every case.

Why Parallel Installation of WinCC Professional Is Blocked

The installation bootstrapper enforces a hard mutex during setup. The mutex is keyed on three identifiers:

  1. The TIA Portal portal version (e.g., V17, V18, V21).
  2. The WinCC Professional component set (ES, RT, ES+RT).
  3. 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\Automation and the SQL Server registry under HKLM\SOFTWARE\Microsoft\Microsoft SQL Server are version-pinned. A second install overwrites the first.
  • File-system collision: Common program-data directories such as %ProgramData%\Siemens\Automation\WinCCProfessional are 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

  1. Open services.msc as Administrator.
  2. Sort by name and look for entries starting with SQL Server (.
  3. Record every instance name and its associated WinCC version. Typical values: WINCCPLUS, WINCCPLUSMIG, WinCC (WinCC V7.x).

Method 2: SQL Server Configuration Manager

  1. Launch SQL Server Configuration Manager from the Start menu.
  2. Expand SQL Server Services. Every installed SQL instance is listed with its service state (Running / Stopped).
  3. 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

  1. Open regedit and navigate to HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL.
  2. Each value under this key is an installed instance name (e.g., WINCCPLUS).
  3. Cross-reference each value with the corresponding HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\Setup entry 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.

  1. 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.
  2. 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, and dbo.ASB.
  3. Back up the SQL databases. Use SQL Server Management Studio (SSMS) connected to localhost\WINCCPLUS to back up every database except the system DBs. Default DB names: CC_PM_<ProjectName>, CC_RT_<ProjectName>, CC_ALG_<ProjectName>, CC_TLG_<ProjectName>.
  4. 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.
  5. Stop every related Windows service. In services.msc, stop SIMATIC WinCC Professional, S7DOS Help Service, SQL Server (WINCCPLUS), and SQL Server Agent (WINCCPLUS).
  6. 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.
Backup retention: Keep the project archive and SQL backups for at least one full project cycle after migration. A successful verification is not a substitute for a verifiable offline copy.

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

  1. Open Settings > Apps > Installed apps.
  2. Find every entry that begins with SIMATIC WinCC Professional (ES) or SIMATIC WinCC Runtime Professional (RT).
  3. Click Uninstall, then Yes when UAC prompts.
  4. 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

  1. Insert the original TIA Portal installation media or mount the ISO that contains the legacy version.
  2. Navigate to the Support directory and launch Siemens_TIA_Portal_Cleanup.exe (or TIAPortalCleaner.exe for older media).
  3. Select WinCC Professional and accept the default cleanup scope.
  4. Reboot when prompted. The cleanup tool removes residual registry keys under HKLM\SOFTWARE\Siemens and 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

  1. Open Programs and Features (appwiz.cpl).
  2. Look for entries named Microsoft SQL Server 2019 (64-bit) with the instance ID WINCCPLUS in parentheses, or Microsoft SQL Server 2019 Express similarly tagged.
  3. Select the entry and click Uninstall/Change.
  4. When prompted, choose Remove and pick the specific WINCCPLUS instance.
  5. 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.

  1. Delete the instance registry key: HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\WINCCPLUS.
  2. Delete the entry under HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\WINCCPLUS.
  3. Stop and delete the services MSSQL$WINCCPLUS and SQLAgent$WINCCPLUS via sc delete MSSQL$WINCCPLUS and sc delete SQLAgent$WINCCPLUS.
  4. Delete the data directory C:\Program Files\Microsoft SQL Server\MSSQL<n>.WINCCPLUS\.
  5. Remove the leftover folder %ProgramData%\Microsoft\Microsoft SQL Server\WINCCPLUS.
Verification before next install: Run 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.

  1. Disable antivirus real-time scanning temporarily; TIA Portal setups are large and AV hooks slow them dramatically.
  2. Mount the TIA Portal Vxx ISO and run Start.exe as Administrator.
  3. Choose Install > User-defined installation and tick the WinCC Professional ES and/or RT components.
  4. Accept the default SQL instance name (WINCCPLUS). Do not change it; downstream WinCC clients expect that exact name.
  5. 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.
  6. 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 WINCCPLUS instance 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.
Maintenance tip: Schedule a periodic backup of the 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.

Back to blog