Resolving WinCC Unified RT IIS Error 500.1000 in TIA Portal V17
The HTTP 500.1000 "Internal Server Error" is one of the most common runtime failures encountered when commissioning a WinCC Unified V17 project that is hosted through Internet Information Services (IIS). The runtime launches successfully from SIMATIC Runtime Manager and the project reports a Running state, but clicking the WinCC Unified RT launch button in the browser returns the error page: The page cannot be displayed because an internal server error has occurred.
This article documents the field-verified root causes, the diagnostic procedure, and the corrective actions for TIA Portal V17 (WinCC Unified V17 RT) running on Windows 10/11 or Windows Server 2019/2022.
HTTP Error 500.1000 - Internal Server Error thrown by the IIS handler ExecuteRequestHandler with sub-status 0x000000c1. In WinCC Unified the handler is the iisnode module that proxies node.exe.1. Problem Description
Typical symptoms reported from the field:
- SIMATIC Runtime Manager shows the project in state Running.
- Launching the WebUX / Unified RT URL from the browser returns a blank or generic 500 page instead of the runtime UI.
- Browser DevTools (F12 → Network tab) show response code
500.1000withExecuteRequestHandleras the failing module. - Windows Event Viewer → Application log shows entries from
iisnodeand/orNode.jswith HRESULT0x000000c1. - After a successful repair, the runtime may show a new symptom: "Incorrect username and password. Try entering your credentials again."
Microsoft documents the parent error class at the Fix HTTP Error 500.19 on IIS webpages troubleshooting page; the 500.1000 sub-status is specifically mapped to handler-execution failures and is reproduced publicly in iisnode GitHub issue #585.
2. Root Cause Analysis
WinCC Unified V17 uses the open-source iisnode module to host the Node.js-based Unified server inside IIS. When the request reaches the server, IIS hands the request to the configured handler. The handler fails to spawn or attach to node.exe, which causes IIS to return a 500.1000 with sub-status 0x000000c1. Five distinct root causes have been observed:
2.1 Missing or incomplete IIS Role/Feature set
The IIS feature set required by WinCC Unified is non-trivial. Any missing sub-feature produces a 500.1000 because the WebSocket protocol module, the HTTP Activation of WCF, or the URL Authorization is unavailable when the Unified server attempts to bind.
2.2 Inaccessible or failing node.exe
The iisnode handler definition contains a nodeProcessCommandLine attribute pointing at the Node.js binary. If the path is wrong, the file is locked by another process, or the process lacks permission to read it, the handler returns 500.1000. This is the root cause captured in iisnode issue #585.
2.3 No user provisioned in the TIA Portal V17 user administration
Starting with WinCC Unified V17, the runtime enforces project-level user administration. If no user has been downloaded from TIA Portal into the runtime, the Unified login screen cannot authenticate, and the runtime's first request to set up the session fails inside the Node.js layer — surfacing as 500.1000 instead of a clean authentication error.
2.4 User administration overwritten during download
The flag "Overwrite user administration of the target device during download" is enabled by default in some project configurations. If the local target's user store is intact but the project download tries to re-write it, the runtime ends up with an inconsistent SIMATIC_RT_USERDB that the Unified server cannot parse.
2.5 Corrupted WinCC Unified installation
Partial installation, Windows Update interference, or a previous uninstall of Node.js leaves the WinCC Unified RT in a state where IIS configuration is present but the Node runtime files are missing.
3. Required IIS Feature Set
Open Server Manager → Manage → Add Roles and Features and verify the following role services are installed. A field-tested baseline for WinCC Unified V17:
| Role Service | Path | Required |
|---|---|---|
| Web Server (IIS) | Common HTTP Features | Yes |
| Static Content | Common HTTP Features | Yes |
| Default Document | Common HTTP Features | Yes |
| HTTP Errors | Common HTTP Features | Yes |
| HTTP Redirection | Common HTTP Features | Yes |
| ASP.NET (4.x and 3.5) | Application Development | Yes |
| CGI | Application Development | Yes |
| ISAPI Extensions | Application Development | Yes |
| ISAPI Filters | Application Development | Yes |
| WebSocket Protocol | Application Development | Yes (mandatory for V17 RT) |
| Windows Authentication | Security | Yes |
| URL Authorization | Security | Yes |
| Request Filtering | Security | Yes |
| IIS Management Console | Management Tools | Yes |
| IIS Management Scripts and Tools | Management Tools | Recommended |
| Management Service | Management Tools | Optional (remote mgmt) |
PowerShell one-liner for verification on a Windows host (run elevated):
Get-WindowsFeature -Name Web* | Where-Object {$_.InstallState -ne "Installed"} | Format-Table Name,InstallState
Any feature listed with Available or Removed status should be installed with Install-WindowsFeature -Name <FeatureName>.
4. Step-by-Step Resolution
Step 1 — Verify the node.exe path
Confirm the binary exists and is reachable:
Test-Path "C:\Program Files\nodejs\node.exe"
Expected result: True. If False, install or repair Node.js (the WinCC Unified V17 setup ships a known-good Node.js LTS, but it is overwritten by manual Node.js installs in some environments).
Step 2 — Inspect the nodeProcessCommandLine attribute
Open the WinCC Unified web.config located at the runtime's physical path (typically C:\Program Files\Siemens\Automation\WinCCUnified\WebRH\web.config or the user-defined project path). Confirm the <handlers> section contains:
<add name="iisnode" path="iisnode.js" verb="*" modules="iisnode" resourceType="Unspecified" requireAccess="Script" nodeProcessCommandLine=""%programfiles%\nodejs\node.exe"" />
The path is wrapped in escaped quotes so the Windows-native handler correctly resolves the directory containing the space Program Files. If the value is empty or uses a relative path, the handler cannot launch and returns 500.1000 — this is the precise scenario described in iisnode issue #585.
Step 3 — Repair the WinCC Unified installation
- Close SIMATIC Runtime Manager and stop the
Siemens WinCC Unified RTservice. - Open Control Panel → Programs and Features.
- Select SIMATIC WinCC Unified V17 → Repair.
- Reboot the PC after the repair completes.
- Restart the runtime project from Runtime Manager.
Repairing re-installs the IIS iisnode module handler, restores the default web.config, re-registers the WCF HTTP activation, and re-issues the Node.js binaries if they have been corrupted.
Step 4 — Create and download users (TIA Portal V17)
- In TIA Portal, open your WinCC Unified project.
- Navigate to Project tree → Security Settings → Users and Roles.
- Add a new user (e.g.
admin) and assign theRT Administratorrole at minimum. - Open Project tree → Devices & Networks → [HMI device] → Runtime settings.
- Right-click the HMI device and choose Download to device → Software (full).
- In the download dialog, expand User administration and uncheck "Overwrite user administration of the target device" unless an intentional reset is required.
- Complete the download and wait for the runtime to restart.
Step 5 — Verify iisnode handler registration
From an elevated command prompt, confirm the module is registered with IIS:
%windir%\system32\inetsrv\appcmd.exe list modules | findstr /I iisnode
Expected output contains iisnode. If absent, re-register the module:
cd "C:\Program Files\iisnode" && setup_iisnode.bat
5. Verification
After the corrective actions, perform the following verification sequence:
- Open SIMATIC Runtime Manager and confirm the project state is Running.
- Click WinCC Unified RT. The browser should redirect to the Unified login page at
https://<host>/<ProjectName>/index.htmlor the configured launch URL. - Enter the user credentials downloaded in Step 4. The runtime home screen must render within 5 seconds.
- Open Windows Event Viewer → Application and filter for Source: iisnode. There should be no error entries from the last 5 minutes.
- Test a screen change: navigate to a plant overview screen and confirm tags and alarms are updating live.
Microsoft Q&A thread HTTP Error 500.1000 - Internal Server Error documents the same root-cause family and the recommended fix sequence, matching the procedure above.
6. Diagnostic Flowchart
7. Error Code and Sub-Status Reference
| IIS Sub-status | HRESULT | Typical cause | Resolution |
|---|---|---|---|
| 500.19 | 0x80070005 / 0x8007000d | Wrong physical path, insufficient permissions, or malformed web.config
|
Compare web.config path to IIS site physical path; grant IIS_IUSRS Read |
| 500.1000 | 0x000000c1 |
ExecuteRequestHandler failure (iisnode cannot launch node.exe) |
Repair Unified RT; verify nodeProcessCommandLine
|
| 500.21 | 0x8007000d | Handler not registered | Reinstall iisnode via setup_iisnode.bat
|
| 500.22 | 0x8007000d | Anonymous authentication not configured for handler | Enable Anonymous Authentication on the WebRH application pool |
The 500.19 detail is documented at Fix HTTP Error 500.19 on IIS webpages; the 500.1000 / 0x000000c1 combination is documented in iisnode issue #585 and a deployment variant in iisnode issue #609.
8. Common Pitfalls
- Running Runtime Manager as a non-administrative user. The Unified installer registers the IIS application pool with local system privileges for first-launch; non-admin sessions cannot restart the pool and the 500.1000 returns after every reboot.
-
Antivirus or EDR quarantining
node.exe. Several endpoint protection products flag the Node.js binary as suspicious. Add an exception forC:\Program Files\nodejs\node.exeand theWebRHdirectory. -
Multiple Node.js installations. If
node.exeis onPATHfrom a different installation, the handler still uses the path inweb.config— but the user's environment variable may shadow it in scripts. - TIA Portal project vs. PC station project mismatch. Downloading a Unified PC station configuration to a Unified Panel fails the runtime initialization silently and surfaces as 500.1000 after authentication.
-
Stale
SIMATIC_RT_USERDBafter an upgrade. If the runtime was previously V16 and you upgraded to V17, the user database may use the V16 schema. Run a full download with the user administration overwrite flag enabled once, then disable it for subsequent downloads.
9. Related Siemens References
- Siemens Industry Online Support — official KB portal for WinCC Unified V17 entries and TIA Portal V17 update packages.
- WinCC Unified V17 system manual — official installation and commissioning documentation.
- Siemens KB entry "IIS and WinCC Unified: Required IIS Features" — cross-reference for the feature matrix in Section 3.
10. Post-Fix Hardening Recommendations
- Export the runtime's
web.configand back it up before every TIA Portal project download so you can diff a future failure. - Enable Failed Request Tracing in IIS for the WebRH application to capture detailed 500 sub-status traces for offline analysis.
- Schedule a monthly
Get-WindowsFeatureaudit so missing role services surface before a deployment that depends on them. - Document the explicit user-download workflow and the overwrite flag in your engineering standard; the most common re-occurrence of this error is an accidental overwrite flag check.
- For V17 Update 4 and later, the WinCC Unified installer prompts to install the Node.js LTS — accept it; do not let a separate Node.js installer run in parallel.
What is HTTP Error 500.1000 in WinCC Unified RT?
HTTP Error 500.1000 is an IIS handler-execution failure with sub-status mapped to ExecuteRequestHandler / 0x000000c1. In WinCC Unified V17 it indicates the iisnode module could not start node.exe, typically because of an invalid nodeProcessCommandLine path, missing IIS role services, or an absent TIA Portal user. See iisnode issue #585 for the original diagnostic record.
How do I fix IIS Error 500.1000 in TIA Portal V17?
First confirm C:\Program Files\nodejs\node.exe is accessible, then verify the nodeProcessCommandLine attribute in web.config. If both are correct, run a Repair of SIMATIC WinCC Unified V17 from Programs and Features, install the missing IIS role services (WebSocket Protocol, ASP.NET, CGI, URL Authorization, Windows Authentication), and re-download the project with at least one user defined in Security Settings → Users and Roles.
Why does the WinCC Unified login fail with "Incorrect username and password" after the repair?
The V17 runtime enforces project-level user administration. If no user was downloaded from TIA Portal, or if the download dialog's "Overwrite user administration of the target device" option overwrote the local user store with an empty set, the login screen rejects every credential. Add a user in Security Settings → Users and Roles and re-download with the overwrite flag unchecked.
Which IIS role services are required for WinCC Unified V17 RT?
Mandatory role services are Web Server (IIS), Static Content, Default Document, HTTP Errors, HTTP Redirection, ASP.NET 4.x, CGI, ISAPI Extensions, ISAPI Filters, WebSocket Protocol, Windows Authentication, URL Authorization, Request Filtering, and the IIS Management Console. Any missing sub-feature surfaces as 500.1000. Confirm with Get-WindowsFeature -Name Web* in PowerShell.
Do I need to re-register the iisnode module after a repair?
The Repair action of the WinCC Unified V17 setup re-registers the iisnode handler automatically. If you uninstalled or upgraded Node.js manually, run C:\Program Files\iisnode\setup_iisnode.bat from an elevated command prompt to re-register the module with IIS, then restart the W3SVC service.