Overview
Siemens WinCC Runtime is engineered as a single-instance HMI visualization host on a Windows computer. By default, the WinCC flexible Runtime loader enforces a one-runtime-per-PC rule through the OnlyOneInstance flag inside the HmiRTm.ini file. Operators who want to run two or more HMI projects on the same machine (for example, a local machine panel plus a supervisory overview, or two independent production cells) must override that flag and resolve the secondary failure mode that appears as a project file cannot be loaded error when the second .fwx file is opened.
This reference covers the legacy WinCC flexible Runtime configuration path, the role of every parameter in HmiRTm.ini, the standard fix for the fwx-file load failure, and the modern WinCC Unified / WinCC Professional parallel installation approach documented in TIA Portal. The two techniques address different generation products and should be selected based on which HMI engineering suite generated the project.
HmiRTm.ini workaround is valid for WinCC flexible 2008 SP5 and later. If you are running projects compiled with TIA Portal V17 or newer, jump to the WinCC Unified and WinCC Professional Parallel Installation section.Prerequisites
- Windows 10/11 Pro or Windows Server 2016/2019/2022 with administrator rights.
- WinCC flexible Runtime 2008 SP5 or higher installed at the default location (
%ProgramFiles%\Siemens\Automation\WinCC flexible\WinCC flexible Runtime\) or a custom path. - Two valid
.fwxcompiled project files generated by WinCC flexible ES. - A valid runtime license for each simultaneous project. A single WinCC flexible Runtime license authorizes one project; a second instance requires either a second full license or a coordinated
RClicense when used as a redundant partner. - Read/write permission for the runtime installation directory because
HmiRTm.iniis owned by the installer and is write-protected under standard user accounts.
HmiRTm.ini File Location and Structure
The HmiRTm.ini file is the central configuration for the WinCC flexible Runtime loader. It lives next to the runtime executable, and its full path is:
C:\Program Files\Siemens\Automation\WinCC flexible\WinCC flexible Runtime\HmiRTm.ini
A freshly installed runtime contains the following default content:
[configuration]
;LoadConfigFile=PDataDef.fwx
[Application]
ShowSplashWnd=True
OnlyOneInstance=True
SuppressTopMost=True
The two relevant sections are:
| Section | Key | Default | Effect |
|---|---|---|---|
| [configuration] | LoadConfigFile | Commented out | Specifies the relative path of the .fwx project file to load. When commented out (preceded by ;), the runtime loads whichever .fwx file is passed by command line or by double-click. |
| [Application] | ShowSplashWnd | True | Displays the splash window at startup. |
| [Application] | OnlyOneInstance | True | Blocks a second HmiRTm.exe from starting. Must be set to False to permit two projects in parallel. |
| [Application] | SuppressTopMost | True | Prevents the runtime window from always being on top. |
;) at the start of a line is the standard INI comment marker. Do not strip the semicolon from LoadConfigFile unless you specifically want a hard-coded startup project; otherwise leave the line commented so the runtime reads the .fwx file you pass on the command line.The OnlyOneInstance Parameter
The OnlyOneInstance flag is a single-instance guard that the runtime uses to prevent two HmiRTm.exe processes from fighting for the same project file, the same Windows message hooks, and the same licensing slot. The guard is enforced when the second HmiRTm.exe is launched: the loader checks for an existing instance and refuses to start if OnlyOneInstance=True.
To permit parallel projects, change the value to False:
[Application]
ShowSplashWnd=True
OnlyOneInstance=False
SuppressTopMost=True
After saving the file, attempt to start the first runtime by double-clicking its .fwx file, then start the second .fwx file. The two runtimes will launch side by side.
Resolving the fwx-File Load Error
Setting OnlyOneInstance=False is necessary but not always sufficient. A common reported failure mode is:
The fwx-file cannot be loaded.
This error appears when the second runtime cannot resolve the project file path or the LoadConfigFile directive. The following checks address every known cause:
-
Verify the .fwx file is accessible from the second runtime's working directory. The runtime resolves a relative
LoadConfigFileentry against the current working directory, not against theHmiRTm.inilocation. When you launch the project by double-clicking the.fwxfile in Explorer, the working directory is the folder containing the file. When you launch it from a shortcut, the working directory is the shortcut's "Start in" field. -
Remove the absolute path from a previous installation. If
HmiRTm.inistill contains an absoluteLoadConfigFile=C:\Some\Path\Project.fwxentry from a prior project, the runtime tries to load that exact file. Comment the line out (prepend;) and let the runtime pick up the.fwxpassed on the command line. - Confirm no read-only attribute is set on the .fwx file. WinCC flexible Runtime writes runtime data back into the project folder (alarm logs, tag logs, recipe directories). A read-only file forces the runtime to terminate the load to protect data integrity.
-
Check the project compatibility. A project compiled with a newer ES version cannot be loaded by an older runtime. Verify the runtime version matches the
WinCC flexibleES that produced the.fwx. - Confirm the second runtime process is launched with administrator rights. Some Windows security policies prevent the second process from binding to message hooks if the first was elevated and the second was not. Both runtimes must run at the same integrity level.
- Check the license server reachability. If both projects require a license and only one license is available, the second instance may fail to acquire the license and abort during initialization, surfacing as a generic project load error. Use a separate license container for each instance, or use a single license and disable the licensing check in the second runtime for development.
HmiRTm.ini while a runtime is active. Stop both HmiRTm.exe processes, edit the file, and restart. Editing the file while the loader has it open can corrupt the INI structure and produce a syntax error on next launch.WinCC Unified and WinCC Professional Parallel Installation
For projects engineered in TIA Portal (V17 / V18 / V19 / V20 / V21), the supported method for hosting multiple HMI projects on a single device is the parallel installation of WinCC Unified Runtime and WinCC RT Professional. The Siemens TIA Portal documentation for V21 describes the exact procedure, supported combinations, and licensing boundaries. Reference: Parallel Installation - TIA Portal (V21).
The key points documented for parallel installation are:
- WinCC Unified Runtime and WinCC RT Professional can be installed on the same Windows device provided the TIA Portal installation order follows the documented sequence. Unified must be installed first, Professional second, or both can be installed together as a combined setup.
- Each runtime manages its own project, its own service account, and its own port range. By default, Unified uses 4430 for the Unified Collaboration, 8888 for the runtime web server, and 1344-1345 for OPC UA. Professional uses 135, 445, and a configurable set of WinCC-specific ports. Verify no port collisions exist with other software on the host.
- Each runtime has its own autostart entry. To control which runtime starts with the operating system, disable the corresponding Windows service (
WinCCUnifiedRTorCCFastCtrlSrv) per project. - License assignment is independent. A WinCC Unified RT license covers only Unified projects; a WinCC RT Professional license covers only Professional projects. Running one of each consumes one license from each pool.
- Project files live in separate folders: Unified projects are stored under
%ProgramData%\Siemens\Automation\WinCCUnified\RT\<ProjectName>\while Professional projects are stored under%ProgramFiles%\Siemens\Automation\WinCC\RT\<ProjectName>\. There is no shared project path.
OnlyOneInstance. The two runtimes are distinct Windows services and will start, stop, and operate independently. This is the recommended approach for new installations.Step-by-Step Configuration Procedure
The procedure below applies to WinCC flexible Runtime. Follow each step in order. After each step, a verification action is included.
-
Stop all running runtimes. Open Task Manager, end every
HmiRTm.exeprocess. Verify: the WinCC flexible Runtime system tray icon disappears. -
Open the INI file in an editor with administrator rights. Right-click Notepad (or your editor of choice), choose Run as administrator, then open
C:\Program Files\Siemens\Automation\WinCC flexible\WinCC flexible Runtime\HmiRTm.ini. Verify: the file opens in read/write mode (Notepad does not show a read-only banner). -
Locate the
[Application]section and changeOnlyOneInstance=TruetoOnlyOneInstance=False. Do not alter theLoadConfigFileline. Save the file. Verify: the file size is non-zero and the modification timestamp updates. -
Confirm both .fwx project files are on a writable drive. Move the files to
C:\HMI\Project1\Project1.fwxandC:\HMI\Project2\Project2.fwxif they are not already. Verify: both files have the read-only attribute cleared (right-click → Properties → Read-only unchecked). -
Launch the first project. Double-click
C:\HMI\Project1\Project1.fwx. The runtime starts, the splash screen displays, and the project screen appears. Verify:HmiRTm.exeis visible in Task Manager with the expected window title. -
Launch the second project. Double-click
C:\HMI\Project2\Project2.fwx. The second runtime starts in a separate window. Verify: twoHmiRTm.exeprocesses are running with distinct window titles and distinct PIDs. - Arrange the windows. Use the Windows taskbar preview or right-click the second runtime's system tray icon to set Always on top if one project should remain visible above the other.
Verification and Testing
After both runtimes are running, perform the following functional checks to confirm the multi-instance configuration is stable:
| Test | Expected Result | Failure Indication |
|---|---|---|
| Process count in Task Manager | Two HmiRTm.exe processes with distinct PIDs |
Only one process; second launch was blocked → recheck OnlyOneInstance
|
| Window enumeration | Two top-level windows with the configured project names | One window only → recheck OnlyOneInstance and licensing |
| Tag update rate in Project 1 while Project 2 is animating | Updates remain at configured cycle time, no dropped frames | Slow updates → CPU saturation; reduce refresh or move to parallel installation model |
| Alarm log persistence | Both projects write to their own alarm log under their project folder | Overlapping logs → project path collision; move one project to a separate folder |
| Recipe write-back | Recipe changes in either project persist on restart | Lost recipes → read-only project folder; clear attribute |
| Stop and restart of one project | Other project continues running unaffected | Both close → shared dependency (DLL hook); re-install runtime to clean hook chain |
| Reboot and autostart | If both are set to autostart, both resume after login | Only one starts → only one autostart shortcut is in the Startup folder; duplicate it |
Troubleshooting Matrix
| Symptom | Likely Root Cause | Corrective Action |
|---|---|---|
| "fwx-file cannot be loaded" on second instance |
LoadConfigFile points to a path that does not exist, or the second runtime's working directory differs from the file location |
Comment out LoadConfigFile; pass the .fwx via command line or double-click |
| Second runtime starts then immediately exits | Missing or invalid license for the second project | Install a second license, or use a coordinated license scheme |
| Both runtimes show the same project | Both shortcuts point to the same .fwx
|
Verify each shortcut's "Target" field; use distinct .fwx files |
| Only one runtime is visible (the other runs headless) | Second runtime window is on a non-primary monitor that is no longer attached | Use Move (Win+Arrow) to recover the window, or set a fixed window position in the project properties |
| Performance degradation when both runtimes animate | CPU bottleneck from a single-core loader architecture | Reduce the number of tags with fast update rates, or migrate to WinCC Unified/Professional which supports multi-core scheduling |
| Alarm logging interleaves between projects | Both projects share a default logging folder because of an inherited path | Set a unique Logging folder in each project's runtime settings |
| OnlyOneInstance=False has no effect | Editing the wrong HmiRTm.ini (a copy in a user profile or in the project folder) |
Confirm the loader uses the file under the runtime installation path; check the Windows registry HKLM\SOFTWARE\Siemens\Automation\WinCC flexible\Runtime for the actual install path |
| Error "HmiRTm has stopped working" on second launch | Memory contention or mismatched runtime versions | Verify both projects are compiled for the same WinCC flexible Runtime version; reinstall matching runtime |
Field-Proven Caveats
\- Single-core loader. WinCC flexible Runtime is single-threaded for the screen rendering path. Two heavy projects can saturate a single core. On modern multi-core CPUs, set the process affinity to distinct cores via Task Manager → Details → Set Affinity to balance load.
- Shared global atom table. Older WinCC flexible Runtime versions use Windows global atoms to coordinate with the loader. If one project crashes and leaves stale atoms, the second project may fail to start. Reboot the machine to clear the atom table.
- Display scaling. Two projects with different DPI scaling settings can fight over the system DPI cache. Set both to the same scaling in their Project Properties → Display.
-
Antivirus exclusions. Add the runtime installation folder and both project folders to the antivirus exclusion list. Some endpoint protection products block the second
HmiRTm.exeas a "suspicious duplicate". - Remote desktop sessions. If you start the second runtime through a Remote Desktop session while the first is running on the console, the second instance may not acquire the input desktop. Both runtimes must run in the same Windows session (console or RDP, but not mixed).
Can WinCC flexible Runtime run two projects at the same time on one PC?
Yes. Open HmiRTm.ini in the runtime installation folder, change OnlyOneInstance=True to OnlyOneInstance=False in the [Application] section, save the file, and restart the runtime. Two HmiRTm.exe processes will then run side by side. A separate license is required for each project.
Why does the second runtime say the fwx-file cannot be loaded?
The most common cause is a hard-coded LoadConfigFile= entry in HmiRTm.ini pointing to a path the second instance cannot resolve. Comment that line out (prefix with ;) and launch the second runtime by double-clicking its .fwx file or via a shortcut with the .fwx as the command-line argument. Also confirm the .fwx file is not marked read-only and the runtime version matches the project's compiled target.
Do I need a second license to run two WinCC flexible Runtime projects?
Yes. Each running project consumes one WinCC flexible Runtime license from the license pool. A single PC with one license cannot legally run two projects in parallel. For development you can disable the license check, but production deployments require the correct number of licenses.
Can WinCC Unified and WinCC RT Professional coexist on the same device?
Yes. TIA Portal V21 documents the parallel installation of WinCC Unified Runtime and WinCC RT Professional on a single device. Each runtime operates as a separate Windows service with its own project folder, port set, and license pool. See the official Parallel Installation documentation for TIA Portal V21 for the supported combinations and the installation order.
Should I use the HmiRTm.ini workaround or migrate to TIA Portal for multi-instance HMI?
Use the HmiRTm.ini workaround only for existing WinCC flexible 2008 / 2008 SP5 projects that cannot be re-engineered. For new projects and for any greenfield installation, use the TIA Portal parallel installation of WinCC Unified RT and WinCC RT Professional. The TIA Portal path is multi-core aware, supports modern Windows versions, and does not depend on a single INI flag.