Problem Overview
Engineers running the integrated HMI simulator in TIA Portal for a SIMIT-style or built-in KTP 1000 / Comfort Panel project encounter a blocking fault the moment they press the "Start simulation" button (or call StartRT from the HMI runtime). The WinCC RT loader reports:
SiemensHMI.TIA.HmiSRT.Vxx not registered
The same message appears in the Output window of the HMI device view and in C:\Users\<user>\AppData\Local\Siemens\Automation\Log\HmiSRT.log when tracing is enabled. The simulator returns a non-zero exit code and the panel does not come up, blocking all offline debugging.
This fault is independent of the project. It is a workstation-level problem: the COM/registry plumbing for the HMI Soft Real-Time (HmiSRT) service that backs the simulator is missing from the Windows registry.
Affected Products and Versions
| Product | Version | Affected | Notes |
|---|---|---|---|
| TIA Portal (STEP 7 / WinCC) | V14 / V14 SP1 | Yes | Original folder structure uses Portal V14
|
| TIA Portal | V15.1 | Yes | Same root cause, separate SmartSimulator path |
| TIA Portal | V16 | Yes | Default path used in this article |
| TIA Portal | V17 | Yes | Folder Portal V17
|
| TIA Portal | V18 | Yes | Folder Portal V18
|
| WinCC Runtime Advanced | All | Yes | Simulation uses the same HmiSRT |
| KTP 1000 Basic, KTP 1200 Basic | All | Yes | Runtime simulator triggers the error |
| Comfort Panels TP 700..TP 2200 | All | Yes | Same loader, same key |
The HmiSRT (HMI Soft Real-Time) module is a Windows service / COM server shared by every HMI target that uses the WinCC Advanced / Professional runtime simulator. A single missing registration breaks simulation for all HMI devices in the project tree, even those on different firmware lines.
Vxx in the error string is replaced at runtime by the active TIA Portal major version (14, 15, 16, 17, 18). If you see HmiSRT.V15 or HmiSRT.V18 in the dialog, the fix procedure is identical; only the source folder name changes.Root Cause Analysis
HmiSRT is registered with the Windows registry on a normal TIA Portal install, but the entries are dropped, corrupted, or never written under any of the following conditions:
- Elevated install blocked by UAC. TIA Portal was installed or patched without a full administrator token, so the per-machine COM registration was silently skipped.
-
Antivirus / EDR quarantine. Endpoint protection deletes or quarantines the freshly written registry keys after the installer exits (common with CrowdStrike, SentinelOne, and Defender ASR rules for unsigned
.regwrites). - Repair / modify setup did not re-register. Running the Siemens setup in "Repair" mode on a user-level installer token leaves the COM keys missing while the binaries are intact.
-
Multi-version coexistence. Side-by-side installs of TIA V15 and V16 (or V17 over V16) overwrite each other's CLSID entries because both write to the same
SiemensHMI.TIA.HmiSRTProgID. - Corporate image / clone deployment. The OS image was captured before TIA finished its post-install COM registration, so the keys never exist on the deployed workstation.
-
Permission on
HKLM\SOFTWARE\WOW6432Node\Siemenswas stripped by a hardening GPO, blocking the installer from creating the key.
When the simulator launches, it queries the registry for the CLSID behind the SiemensHMI.TIA.HmiSRT.Vxx ProgID. If the CLSID is absent, CoCreateInstance returns REGDB_E_CLASSNOTREG (0x80040154) and the loader surfaces the human-readable message in the dialog.
Prerequisites
- Local administrator account on the engineering workstation.
- TIA Portal closed completely, including the TIA Administrator tray icon and any background
S7OUCSAx.exe/HmiSRT.exeprocess. Verify with Task Manager. - Path to the simulator folder for the active version. Replace
V16below withV14,V15_1,V17, orV18as required:C:\Program Files\Siemens\Automation\Portal V16\Win32\SmartSimulatorC:\Program Files\Siemens\Automation\Portal V16\Win64\SmartSimulator
- Read access to the registry hive
HKEY_LOCAL_MACHINEand write access toHKLM\SOFTWARE\WOW6432Node\Siemens\Automation. - If your shop uses a software restriction policy, temporarily exclude the
SmartSimulatorfolder or grant the reg-file the appropriate SHA-256 hash rule.
Step-by-Step Resolution Procedure
-
Close TIA Portal. Right-click the TIA icon in the notification area and select Exit. Confirm with Task Manager that no
Portal.exe,HmiSRT.exe,S7OUCSAx.exe, orSiemens.Automation.Portal.exeremain. -
Open an elevated file browser. Press Win, type
SmartSimulator, and click Open file location on the V16 entry. Or browse directly toC:\Program Files\Siemens\Automation\Portal V16\Win32\SmartSimulatorin an Explorer window started with Run as administrator. -
Locate the batch file. In the
SmartSimulatorfolder you will seeHmiSRTRegister_reg(file extension is.bator.cmd). Right-click it and choose Run as administrator. Approve the UAC prompt. -
Verify generation of the two registry files. The batch file writes two
.regfiles into the same directory:-
HmiSRTreg.reg– 32-bit CLSID for the WoW HmiSRT server -
HmiSRTreg_Vxx.reg– version-suffixed ProgID and AppID entries
-
-
Import the registry files. Double-click
HmiSRTreg.reg, accept the UAC prompt, and click Yes in the Registry Editor confirmation. Repeat forHmiSRTreg_Vxx.reg. Both files must be imported; the order is not significant. -
Confirm the keys were written. Open
regeditas administrator and check the following paths exist:-
HKLM\SOFTWARE\Classes\SiemensHMI.TIA.HmiSRT.V16with default valueSiemens HMI Soft Real-Time V16 -
HKLM\SOFTWARE\Classes\CLSID\{<GUID>}\InprocServer32pointing toHmiSRT.dllinside the SmartSimulator folder -
HKLM\SOFTWARE\WOW6432Node\Siemens\Automation\Portal V16\HmiSRTwith the install path string value
-
- Restart TIA Portal as administrator. Right-click the TIA shortcut and choose Run as administrator for the first launch after the fix. Normal user rights will work on subsequent launches.
- Retry the simulation. Open the HMI device, expand Online > Simulation > Start (or press the play button). The simulator window should appear within 5–10 seconds without the registration error.
Command-Line Alternative
When the graphical registry editor is unavailable, blocked by GPO, or you are scripting a fleet of workstations, use the unattended equivalent of the same procedure:
@echo off
setlocal
set TIAVER=V16
set ROOT="C:\Program Files\Siemens\Automation\Portal %TIAVER%\Win32\SmartSimulator"
:: 1. Stop any running HMI simulator
taskkill /F /IM HmiSRT.exe 2>NUL
taskkill /F /IM S7OUCSAx.exe 2>NUL
:: 2. Run the generator batch as admin (re-launch self with PSExec-style elevation if needed)
pushd %ROOT%
call HmiSRTRegister_reg.bat
popd
:: 3. Silently import the two .reg files
regedit /s "%ROOT%\HmiSRTreg.reg"
regedit /s "%ROOT%\HmiSRTreg_Vxx.reg"
:: 4. Verify the ProgID was created
reg query "HKLM\SOFTWARE\Classes\SiemensHMI.TIA.HmiSRT.%TIAVER%" >NUL 2>&1
if %ERRORLEVEL% NEQ 0 (
echo FAILED: HmiSRT V%TIAVER% not registered
exit /b 1
)
echo OK: HmiSRT V%TIAVER% registered
endlocal
For PowerShell deployments (Intune, MDT, or Ansible for Windows) the equivalent one-liner is:
$ver='V16'
$root="C:\Program Files\Siemens\Automation\Portal $ver\Win32\SmartSimulator"
Start-Process -Verb RunAs -FilePath "$root\HmiSRTRegister_reg.bat" -Wait
reg import "$root\HmiSRTreg.reg" 2>$null
reg import "$root\HmiSRTreg_Vxx.reg" 2>$null
Get-ItemProperty 'HKLM:\SOFTWARE\Classes\SiemensHMI.TIA.HmiSRT.V16' | Select-Object -ExpandProperty '(default)'
Registry Layout Created by the Fix
Importing the two .reg files populates the following logical structure. The exact GUIDs vary by TIA Portal version but the layout is stable from V14 through V18.
| Key | Type | Value (typical) | Purpose |
|---|---|---|---|
HKLM\SOFTWARE\Classes\SiemensHMI.TIA.HmiSRT.Vxx |
REG_SZ (default) | Siemens HMI Soft Real-Time Vxx |
ProgID the simulator calls |
HKLM\SOFTWARE\Classes\SiemensHMI.TIA.HmiSRT.Vxx\CLSID |
REG_SZ (default) | {1F2A8B0C-...} |
Pointer to COM class |
HKLM\SOFTWARE\Classes\CLSID\{1F2A8B0C-...} |
REG_SZ (default) | Siemens HMI Soft Real-Time Vxx |
Human-readable name |
HKLM\SOFTWARE\Classes\CLSID\{1F2A8B0C-...}\InprocServer32 |
REG_SZ (default) | C:\Program Files\Siemens\Automation\Portal Vxx\Win32\SmartSimulator\HmiSRT.dll |
32-bit in-proc server |
HKLM\SOFTWARE\Classes\CLSID\{1F2A8B0C-...}\InprocServer32 |
REG_SZ ThreadingModel | Both |
STA + MTA allowed |
HKLM\SOFTWARE\WOW6432Node\Siemens\Automation\Portal Vxx\HmiSRT |
REG_SZ InstallPath | ...\SmartSimulator |
Used by HmiSRT.exe for self-locating |
On a 64-bit Windows installation the 32-bit in-proc server is registered under HKLM\SOFTWARE\WOW6432Node\Classes; regedit shows both views through the standard WOW6432Node redirector.
Verification
After completing the fix, validate success using three independent checks before resuming development:
-
Registry presence.
reg query "HKLM\SOFTWARE\Classes\SiemensHMI.TIA.HmiSRT.Vxx"returns a default value and a CLSID subkey. -
COM instantiation. From an elevated PowerShell prompt run:
A non-null$type = [Type]::GetTypeFromProgID('SiemensHMI.TIA.HmiSRT.V16','localhost') if ($type -eq $null) { Write-Error 'ProgID not resolvable' } else { Write-Host 'OK:' $type.FullName }FullNameconfirms the class is registered end-to-end. - Functional simulation. In TIA Portal, open any HMI device, click the Start simulation toolbar button, and confirm the simulator window appears within 10 seconds with no error dialog. Press F5 to force-refresh the connection to the simulated PLC and verify tag exchange.
Troubleshooting Matrix
| Symptom | Likely Cause | Additional Action |
|---|---|---|
Batch file HmiSRTRegister_reg missing |
Win32 components not installed (custom setup) | Run TIA setup in Modify mode, ensure WinCC Runtime Advanced Simulation is checked |
Access is denied (0x80070005) when importing .reg
|
Registry write blocked by UAC or GPO | Run regedit as administrator, or import via reg import /reg:64 from an elevated console |
| Keys written but error persists | Wrong bitness (64-bit Office / 32-bit TIA mismatch) | Confirm under HKLM\SOFTWARE\WOW6432Node not HKLM\SOFTWARE
|
Batch file runs but no .reg files appear |
Antivirus quarantines generated files | Temporarily disable real-time AV, add the SmartSimulator folder to the AV exclusion list, re-run |
| Error returns after every reboot | Corporate image rebuilds the registry on logon | Deploy HmiSRTreg.reg and HmiSRTreg_Vxx.reg through Group Policy Preferences > Registry |
| Simulation launches but tags stay "#" | PLCSIM not running or wrong connection | Start S7-PLCSIM, set PG/PC interface to PLCSIM S7-1200/S7-1500 in the TIA project |
Error reads V14 even though V16 is installed |
TIA Portal pointing at the wrong version | Open the project in the version installed last; re-save under that version or install the missing one |
| Only occurs on a specific project | Project uses a TIA version whose HmiSRT was never installed | Install the matching TIA Portal version side-by-side, or migrate the project |
Advanced Diagnostics
When the standard fix does not work, capture deeper evidence before contacting Siemens Industry Online Support:
-
Process Monitor trace. Filter for
regsvr32.exe,HmiSRT.exe, andregedit.exewhile reproducing the error. The trace will show exactly which registry path is queried and theNAME NOT FOUNDresult. -
COM activation log. Enable
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole\EnableLogging = 1(REG_DWORD) and restart TIA. The log at%TEMP%\OLE.LOGcontains everyCoCreateInstanceattempt and the resultingHRESULT. -
SxS (side-by-side) manifest check. If the message changes to
0x800736B1after the fix, the Win32 SmartSimulator manifest is missing. Reinstall the WinCC Runtime Advanced feature set. -
Procmon boot log. Capture from cold boot to first simulation attempt; the resulting PML can be filtered on
RegOpenKeyagainstSiemensHMI.TIA.HmiSRTto identify who is removing the keys.
Preventive Measures
-
Install as administrator from a clean boot, with all AV products disabled or scoped to a temporary exclusion list for
C:\Program Files\Siemens. -
Document the two
.regfiles in your image-build checklist. After each TIA upgrade, re-runHmiSRTRegister_regand re-import the resulting files to bake the keys into the gold image. - Avoid uninstalling a higher TIA version first. Downgrades from V18 to V16 frequently leave orphan V18 CLSIDs that mask the V16 ones. Uninstall all TIA versions, then install from oldest to newest.
- For terminal servers / Citrix VDI, publish the registry import as a logon script so every user session receives the keys, regardless of image persistence.
-
Back up the working registry after a known-good install:
Restore withreg export HKLM\SOFTWARE\Classes\SiemensHMI.TIA.HmiSRT.V16 C:\backup\HmiSRT_V16.reg /y reg export HKLM\SOFTWARE\WOW6432Node\Siemens\Automation C:\backup\TIA_V16_path.reg /yreg importif a future TIA update drops the keys again.
What does the error "SiemensHMI.TIA.HmiSRT.Vxx not registered" actually mean?
It means the Windows registry is missing the COM ProgID and CLSID entries for the HMI Soft Real-Time service that powers the WinCC Runtime simulator. TIA Portal cannot start the simulated KTP 1000 / Comfort Panel because CoCreateInstance(SiemensHMI.TIA.HmiSRT.Vxx) returns REGDB_E_CLASSNOTREG (0x80040154). Re-running HmiSRTRegister_reg as administrator and importing the two generated .reg files restores the keys.
Which TIA Portal versions are affected by this HmiSRT error?
All currently supported TIA Portal releases: V14, V14 SP1, V15.1, V16, V17, and V18. The fix procedure is identical across versions; only the source folder name (Portal Vxx) and the suffix in the generated .reg file change.
Do I need to run HmiSRTRegister_reg as administrator?
Yes. The batch file writes registry keys under HKLM\SOFTWARE\Classes and HKLM\SOFTWARE\WOW6432Node\Siemens, both of which require elevation on Windows 7/10/11. Without an admin token, the keys are silently dropped and the error returns on the next simulation start.
Can I script the fix for multiple engineering workstations?
Yes. Use the command-line section above: run HmiSRTRegister_reg from a cmd or PowerShell session started with Run as administrator, then regedit /s (or reg import) both generated .reg files. The procedure deploys cleanly through Intune, SCCM, Ansible for Windows, or a Group Policy logon script.
Why does the error come back after I install a Windows update?
Cumulative Windows updates that touch the COM subsystem, plus a handful of antivirus signature updates, can rebuild or quarantine the HmiSRT keys. Re-run the same two-step fix (HmiSRTRegister_reg as admin, then import the .reg files) and consider deploying the keys through Group Policy Preferences so they are reapplied automatically on each logon.