Problem Description: IMSTSQL2016EXP_SCADA Installation Failure
The TIA Portal V16 (STEP 7 / WinCC V16) installation package terminates during the database component deployment phase with the following installer event:
Component: Microsoft SQL Server 2016 Express (SCADA instance)
Return code : -1
Status : FAILED
Event ID : IMSTSQL2016EXP_SCADA
The Setup.exe process aborts before reaching WinCC Professional, WinCC Unified, or the Start Drive commissioning routines. Subsequent retries from the same image produce identical failures because the partial install writes a corrupted %ProgramFiles%\Siemens\Automation\SIEMENS_TIA_PORTAL_V16 tree and leaves SQL Express services registered but non-functional.
IMS- and suffixed with the affected instance (T-SQL-EXP-SCADA). The actual underlying MSI return code is logged in %TEMP%\Siemens\TIA_Portal_V16\Logs\ and must be read to confirm SQL as the cause.Root Cause: Windows 10 Build Incompatibility with SQL Express 2016 Bootstrapper
TIA Portal V16 was released against the SQL Server 2016 Express bootstrapper (file sqlexpress2016_x64.exe, bundle revision 13.0.4001.0). That bootstrapper is only digitally signed and tested against specific Windows 10 build families. Per the official TIA Portal V16 release notes (entry ID 109772706 on Siemens Industry Online Support), the supported Windows 10 editions are:
| Windows 10 Edition | Build / Version | Supported by TIA V16 |
|---|---|---|
| Home (64-bit) | 1809 (Build 17763) | Yes |
| Home (64-bit) | 1903 (Build 18362) | Yes |
| Professional (64-bit) | 1809 (Build 17763) | Yes |
| Professional (64-bit) | 1903 (Build 18362) | Yes |
| Professional (64-bit) | 1909 (Build 18363) | Limited – install logs show SQL Express bootstrapper rejection |
| Professional (64-bit) | 2004 / 20H1 (Build 19041) | Not supported |
| Professional (64-bit) | 20H2 (Build 19042) | Not supported – triggers IMSTSQL2016EXP_SCADA |
| Enterprise (64-bit) | 1809, 1903 | Yes |
| IoT Enterprise 2015 LTSB | 10240 / Threshold 2 | Yes |
| IoT Enterprise 2016 LTSB | 14393 / Anniversary Update | Yes |
| IoT Enterprise 2019 LTSC | 17763 / 1809 | Yes |
| Enterprise LTSC 2019 | 17763 | Yes |
| Windows 11 (any edition) | Build 22000+ | No (use TIA V17 or newer) |
The build reported in the original failure (Windows 10 Pro, 64-bit, build 19042) corresponds to the 20H2 feature update, which post-dates the TIA V16 GA cutoff. The SQL Server 2016 Express bootstrapper performs an OS version check at the start of SQLEXPR_x64_ENU.exe and returns exit code 0x800F0922 on unsupported builds, which the Siemens setup wrapper re-labels as IMSTSQL2016EXP_SCADA.
Confirm the OS Build and Installer Log Fingerprint
Before any remediation, capture the host fingerprint so the failure can be matched to a known compatibility matrix entry:
- Open
winverfrom the Start menu and record the exact build string (e.g., Version 20H2 (OS Build 19042.1586)). - Open an elevated PowerShell session and run:
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsBuildNumber, OsHardwareAbstractionLayer - Confirm .NET Framework versions (TIA V16 requires 4.6.2 minimum, 4.8 recommended):
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where-Object { $_.PSChildName -match '^(?!S)\p{L}' } | Select-Object PSChildName, version - Inspect the TIA Setup log for the underlying MSI error:
Get-Content "$env:TEMP\Siemens\TIA_Portal_V16\Logs\Siemens.TIA.Portal.Setup.log" -Tail 200 | Select-String -Pattern 'IMSTSQL|0x[0-9A-F]{8}|SQL Server'
A typical fingerprint inside the log is:
MSI (s) (A4:5C) [HH:MM:SS]: Product: SQL Server 2016 Express -- Installation failed.
MSI (s) (A4:5C) [HH:MM:SS]: Windows Installer installed the product. Product Name: SQL Server 2016 Express. Product Version: 13.0.4001.0. Product Language: 1033. Installation success or error status: 1638.
Component: IMSTSQL2016EXP_SCADA
ResultCode: -1
SQLEXPRESS instance name.Solution Path A – Align the Operating System to a Supported Build
The cleanest path is to bring the host back to a Windows 10 build explicitly tested by Siemens for TIA V16. The compatibility tool at Siemens Compatibility Tool must be used as the source of truth for the engineering workstation configuration.
- Back up all TIA Portal projects, HMI runtime archives, and PLC library archives. The V16
.ap16/.al16files are not forward-compatible with V17+ without manual export. - Download the official Windows 10 1903 (Build 18362.30) or 1809 (Build 17763.316) ISO from the Volume Licensing Service Center or the Media Creation Tool, choosing Do not keep personal files if a clean engineering image is acceptable.
- Perform a feature update downgrade by mounting the ISO and running
setup.exe /auto upgrade /quiet /DynamicUpdate enablefrom a clean boot, then disable Windows Update after install to prevent the 19042 patch from being reapplied. - Reinstall TIA Portal V16 from the original
Setup.exe. The SQL Express 2016 bootstrapper will now complete theIMSTSQL2016EXP_SCADAstep. - Confirm SQL service startup:
Get-Service 'MSSQL$WINCCPLUSMI' | Select-Object Name, Status, StartType
Expected:Running,Automatic.
Solution Path B – Pre-install a Supported SQL Express 2016 Instance
If the Windows 10 build cannot be changed (locked corporate image, audit, or validated production engineering image), the SQL Express 2016 instance can be staged manually. This makes the TIA Setup see the instance as already present and skip the failing bootstrapper component.
- Download SQL Server 2016 Service Pack 3 Express (KB 5013111) from the official Microsoft catalog. The signed package is
SQLServer2016SP3-KB5003279-x64-ENU.exeorSQLEXPR_x64_ENU.exe(Build 13.0.6300.2). Note: the SP3 refresh removes the OS build gate that blocks install on 19042+. - Run the installer with the same instance naming convention TIA expects:
SQLEXPR_x64_ENU.exe /ACTION=Install /FEATURES=SQLEngine /INSTANCENAME=WINCCPLUSMI /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /IACCEPTSQLSERVERLICENSETERMS /QUIET /HIDECONSOLE - Apply the cumulative update
SQLServer2016-KB5015372-x64.exe(CU22) to bring the engine to 13.0.5888.11. - Set the service account and startup to automatic:
sc config "MSSQL$WINCCPLUSMI" start= auto obj= "NT Service\MSSQL$WINCCPLUSMI" - Re-run TIA Portal V16 Setup. The setup wrapper now detects the existing
WINCCPLUSMIinstance and skips theIMSTSQL2016EXP_SCADAcomponent.
Get-Service | Where-Object { $_.Name -like 'MSSQL$*' } and confirm no leftover SQLEXPRESS instance is bound to port 1433. TIA V16 reserves WINCCPLUSMI for SCADA, plus SCADA_DB in some distributions. Name conflicts will route setup to a different SQL bootstrapper branch and reproduce the failure.Solution Path C – Repair a Half-Installed SQL Bootstrapper
If the first attempt at Setup.exe left a partial SQL install, that partial state must be removed before either Solution A or B can succeed.
- Stop and delete orphaned SQL services:
Get-Service | Where-Object { $_.Name -like 'MSSQL$*' -or $_.Name -like 'SQLAgent$*' -or $_.Name -like 'SQLTELEMETRY$*' } | Stop-Service -Force -EA SilentlyContinue
sc delete "MSSQL$WINCCPLUSMI" - Remove the partial instance registry key:
Remove-Item 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\WINCCPLUSMI' -Recurse -Force -EA SilentlyContinue
Remove-Item 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.WINCCPLUSMI' -Recurse -Force -EA SilentlyContinue - Delete the orphaned data directory:
Remove-Item 'C:\Program Files\Microsoft SQL Server\MSSQL13.WINCCPLUSMI' -Recurse -Force
Remove-Item 'C:\Program Files (x86)\Microsoft SQL Server\MSSQL13.WINCCPLUSMI' -Recurse -Force - Remove the TIA V16 staging directory and prior installation registry hive:
Remove-Item 'HKLM:\SOFTWARE\Siemens\Automation\TIAPortal\V16' -Recurse -Force
Remove-Item 'C:\Program Files\Siemens\Automation\SIEMENS_TIA_PORTAL_V16' -Recurse -Force - Reboot, then re-apply Solution A or B.
Verification Steps
- Confirm the
IMSTSQL2016EXP_SCADAlog line is no longer present in the new install log:
Select-String -Path "$env:TEMP\Siemens\TIA_Portal_V16\Logs\Siemens.TIA.Portal.Setup.log" -Pattern 'IMSTSQL.*FAILED'
Expected: no output. - Confirm WinCC Professional and WinCC Unified are both registered in the Automation License Manager (
Siemens\Automation\SimaticLicenseManager\SLM.exe) and that the StartDrive component reports a valid SIMATIC version. - Open TIA Portal V16, create a new PC system with a WinCC Runtime Professional, and compile. If the SCADA DB is correctly backed by the SQL instance, no warning "Cannot connect to SCADA database" will appear in the diagnostics pane.
- Validate SQL connectivity directly:
sqlcmd -S .\WINCCPLUSMI -E -Q "SELECT @@VERSION"
Expected row contains Microsoft SQL Server 2016 (SP3). - Confirm firewall exception
C:\Program Files\Microsoft SQL Server\MSSQL13.WINCCPLUSMI\MSSQL\Binn\sqlservr.exeis allowed on the engineering subnet if the panel HMI and the engineering PC are separated by a router.
Pre-Installation Checklist for TIA Portal V16
| Item | Required Value | Verification Command |
|---|---|---|
| Windows 10 build | 17763 (1809) or 18362 (1903) | winver |
| .NET Framework | 4.6.2 minimum, 4.8 recommended |
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release (461808+) |
| RAM | 16 GB minimum for TIA V16 with WinCC Professional | (Get-CimInstance Win32_PhysicalMemory).Capacity | Measure-Object -Sum |
| Free disk on system drive | 40 GB (TIA install + SQL data + project cache) | Get-PSDrive C | Select-Object Used, Free |
| UAC | Enabled (default) |
(Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System').EnableLUA = 1 |
| Antivirus real-time scan | Exclusions for %ProgramFiles%\Siemens, %ProgramFiles%\Microsoft SQL Server, %ProgramData%\Siemens
|
Per vendor console |
Existing SQL instance named SQLEXPRESS
|
Should be stopped / removed before TIA V16 setup | Get-Service 'MSSQL$SQLEXPRESS' |
| Domain policy: Disallow 64-bit unsigned drivers | Must be off (Siemens S7USB driver is signed but legacy CP cards may not be) |
gpresult /r → Computer Configuration → System |
Related Error Strings in TIA Portal V16 Setup
| Setup Event ID | Component | Typical Cause | Fix Direction |
|---|---|---|---|
IMSTSQL2016EXP_SCADA |
SQL 2016 Express – WinCC SCADA instance | OS build above 19041 or prior SQL leftovers | Solution A / B / C above |
IMSDOTNET48 |
.NET Framework 4.8 offline package | Pending reboot blocks .NET install | Reboot, net stop wuauserv, retry |
IMSSQLCLI2016 |
SQL Command Line Utilities 2016 | MSOLEDBSQL 18 conflict | Uninstall MSOLEDBSQL, retry |
IMSPLCRTM_V16 |
PLCSim runtime | Hyper-V feature disabled | DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V |
IMSSAFETYSUITE |
SIMATIC Safety optional package | License missing | Apply valid license in ALM |
Field-Proven Caveats and Edge Cases
-
Build 18363 (Windows 10 1909) is reported in the field as partially working with TIA V16: the SIMATIC STEP 7 portion installs, but the SCADA bootstrapper (the exact
IMSTSQL2016EXP_SCADApath) can still fail. Treat 1909 as a gray zone and prefer 1809 / 1903 for production engineering images. - Lenovo, Dell, and HP engineering workstations often ship with a pre-installed
SQLEXPRESSinstance used by System Center, WSUS, or a vendor diagnostics tool. This instance may hold port 1433 and block the TIA instance. Stop the service, set its start to Disabled, then re-run setup. - If the host has any TIA Portal V13 SP2 / V14 / V15 install, run
Siemens_Automation_License_Manager_Starter.exe /cleanupand the official Siemens TIA Portal Cleanup Tool (entry ID 109760665) before attempting V16. Leftover ALM hooks can also mask the SQL Express error under a misleading licensing event ID. - Never use the Program Compatibility Troubleshooter on TIA Setup.exe. It re-routes the installer to Windows 7/8 compatibility shims, which silently disable the SQL bootstrapper and report a generic 1603 instead of the descriptive IMST event.
- SQL Server 2016 Express does not officially support the newer Microsoft Visual C++ 2015-2022 Redistributable when the legacy vcredist 2013 is missing. Install both x64 versions before attempting Solution B.
FAQ
What does the IMSTSQL2016EXP_SCADA error actually mean?
It is a Siemens Setup wrapper event that reports a failed deployment of the Microsoft SQL Server 2016 Express instance used by the WinCC SCADA component. The underlying cause is logged in %TEMP%\Siemens\TIA_Portal_V16\Logs\Siemens.TIA.Portal.Setup.log as a Windows Installer status (most often 1603, 1638, or 0x800F0922), pointing at an OS build mismatch, a leftover SQL instance, or a blocked MSI transaction.
Can TIA Portal V16 be installed on Windows 10 20H2 (build 19042)?
No. The officially supported Windows 10 builds for TIA V16 are 1809 (17763) and 1903 (18362) for Home, Professional, and Enterprise, plus the IoT Enterprise LTSB / LTSC branches. Build 19042 (20H2) is not on the release notes and triggers the IMSTSQL2016EXP_SCADA bootstrapper rejection. Either downgrade the OS to 1903 / 1809 or upgrade to TIA V17 (which supports 20H2) or later.
Does pre-installing SQL Server 2016 SP3 Express fix the error?
In most cases, yes. SQL Server 2016 SP3 Express (build 13.0.6300.2) removed the OS build check that blocks install on Windows 10 20H2. Use instance name WINCCPLUSMI for the WinCC Professional runtime database, set the sysadmin to BUILTIN\Administrators, and apply the latest cumulative update before launching the TIA V16 setup. The TIA installer detects the existing instance and skips the IMSTSQL2016EXP_SCADA step.
Where is the TIA Portal V16 setup log stored?
The primary log is at %TEMP%\Siemens\TIA_Portal_V16\Logs\Siemens.TIA.Portal.Setup.log. The per-component MSI verbose logs are in the same Logs folder (filenames beginning with MSI_) and the SQL Server 2016 install log is in %ProgramFiles%\Microsoft SQL Server\130\Setup Bootstrap\Log. Always collect all three before opening a Siemens support request (SR).
Is there an official Siemens tool to verify TIA V16 compatibility with my PC?
Yes. The Siemens Compatibility Tool at https://support.industry.siemens.com/kompatool/pages/main/start_maincomponent_selection.jsf filters the complete matrix of TIA Portal V16 products, supported Windows builds, .NET versions, antivirus exclusions, and SIMATIC hardware firmware versions. Use it as the authoritative reference before commissioning a new engineering workstation.