Resolving WinCC Unified RT IIS Error 500.1000 in TIA Portal V17

David Krause10 min read
SiemensTroubleshootingWinCC
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

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.

Error signature: 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.1000 with ExecuteRequestHandler as the failing module.
  • Windows Event Viewer → Application log shows entries from iisnode and/or Node.js with HRESULT 0x000000c1.
  • 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

  1. Close SIMATIC Runtime Manager and stop the Siemens WinCC Unified RT service.
  2. Open Control Panel → Programs and Features.
  3. Select SIMATIC WinCC Unified V17 → Repair.
  4. Reboot the PC after the repair completes.
  5. 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)

  1. In TIA Portal, open your WinCC Unified project.
  2. Navigate to Project tree → Security Settings → Users and Roles.
  3. Add a new user (e.g. admin) and assign the RT Administrator role at minimum.
  4. Open Project tree → Devices & Networks → [HMI device] → Runtime settings.
  5. Right-click the HMI device and choose Download to device → Software (full).
  6. In the download dialog, expand User administration and uncheck "Overwrite user administration of the target device" unless an intentional reset is required.
  7. Complete the download and wait for the runtime to restart.
Critical: If the overwrite flag is checked and the target device's user store is empty, TIA Portal will not push the local users and the runtime will report "Incorrect username and password" for every login attempt — including the one you just configured.

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:

  1. Open SIMATIC Runtime Manager and confirm the project state is Running.
  2. Click WinCC Unified RT. The browser should redirect to the Unified login page at https://<host>/<ProjectName>/index.html or the configured launch URL.
  3. Enter the user credentials downloaded in Step 4. The runtime home screen must render within 5 seconds.
  4. Open Windows Event Viewer → Application and filter for Source: iisnode. There should be no error entries from the last 5 minutes.
  5. 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

Browser shows HTTP 500.1000 node.exe accessible at expected path? No Reinstall/Repair Node.js + Unified nodeProcessCommandLine attribute set correctly? No Edit web.config Add node.exe path All required IIS role services installed? No Install IIS features User downloaded from TIA Portal Security? No Add user, Download RT All checks pass → runtime should load

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 for C:\Program Files\nodejs\node.exe and the WebRH directory.
  • Multiple Node.js installations. If node.exe is on PATH from a different installation, the handler still uses the path in web.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_USERDB after 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

  1. Export the runtime's web.config and back it up before every TIA Portal project download so you can diff a future failure.
  2. Enable Failed Request Tracing in IIS for the WebRH application to capture detailed 500 sub-status traces for offline analysis.
  3. Schedule a monthly Get-WindowsFeature audit so missing role services surface before a deployment that depends on them.
  4. 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.
  5. 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.

Back to blog