WinCC License Expired Pop-up on Client AutoStart Root Cause

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

Problem Description

A WinCC Server / multi-Client system that has been operating in production for several months begins displaying a modal pop-up immediately after the Windows auto-logon sequence completes. The pop-up is generated by Siemens Automation License Manager (ALM) and states that the active license has expired and a valid license is required. The dialog reappears at regular intervals (default 15 minutes in legacy ALM builds, configurable through the ALM registry key RemindingPeriod). It does not disappear on its own and forces operator acknowledgement, which violates 24/7 SCADA operability expectations.

Inventory at the affected Client confirms:

  • One WinCC Runtime 128 Tags license present (RT-128 tag-count license, sufficient for the active project).
  • One WinCC aComms license present (named-user or unlimited Client communication license, depending on the variant installed).
  • No WinCC RC (Runtime Configuration) or Development license present on the Client.

The project on the Client is launched via Windows auto-start (registry HKCU\Software\Microsoft\Windows\CurrentVersion\Run or a Scheduled Task at logon). The pop-up is delivered before any operator screen is loaded.

Root Cause Analysis

ALM does not request a license type that the running process does not require. The presence of an RC/Development demand on a Client that only carries RT + aComms strongly indicates that one of the WinCC editors (WinCC Explorer, Graphics Designer, Tag Management, Alarm Logging, User Administrator, Global Script, Cross Reference, or Picture Tree) is being opened as part of the auto-start chain — either explicitly or through a project component that calls an editor on startup.

WinCC's license enforcement model separates execution (Runtime) from configuration (RC / Development). The complete license family on the Client should normally be:

License (CoL) Scope Required for
WinCC RT (128 / 256 / 512 / 1024 / 2048 / 8192 / 65536 tags) Runtime execution Running graphics, tag updates, alarms
WinCC aComms Client-side communication Server-client data exchange on the Client PC
WinCC RC (Runtime Configuration) Online reconfiguration Editing projects on a running Client
WinCC Development (Power Tags / AS) Full development Opening WinCC Explorer with full editor scope
WinCC WebNavigator / DataMonitor / WebUX Optional web tier Browser-based operator access

Once the WinCC Explorer (or any editor) initializes, the ALM code path requests an RC/Development license. If none is available and no valid trial exists, the expired-license dialog is raised regardless of whether the editor's window is visible to the user.

Common Triggers

  1. WinCC Explorer is on the auto-start chain. The Explorer process CCExpMgr.exe loads SCC.EXE which in turn loads CCProjectMgr.exe. Any of these will request an RC slot.
  2. A Scheduled Task or login script calls WinCCExplorer.exe (or an .LNK to it) under the user's context instead of (or in addition to) CCStart.exe or CCStartRt.exe.
  3. A component of the project invokes an editor on startup. Custom C-script/VBS actions, ODK callbacks, or third-party add-ins can silently open the User Administrator or the Tag Management editor.
  4. A residual trial license (14-day RT, RC, or WebNavigator) was installed during commissioning, expired in the background, and ALM still references it in license.log even after the underlying Siemens software (e.g., STEP 7) has been uninstalled.
  5. The logged-on operator account has the WinCC User Administrator access level Configure remote enabled, which authorizes (and internally initiates) editor-side hooks at logon.
  6. License mismatch after ALM service interruption. The
    almsrv.exe service was restarted, license container was re-mapped, or the USB license dongle was removed and re-seated — ALM treats the next launch as a cold check and demands the editor tier.

Diagnostic Procedure

Execute the steps below in order. Each step produces an artifact you can compare to a known-good Client.

Step 1 — Confirm the actual process tree at logon

  1. Log on to the Client with the operator account.
  2. Open tasklist /v /fo list as Administrator and capture the output before acknowledging any pop-up.
  3. Look for any of: CCExpMgr.exe, SCC.EXE, CCProjectMgr.exe, CCStart.exe, CCStartRt.exe, CCEServer.exe, CCDmServer.exe, CCAlgRt.exe.
  4. Note parent/child relationships. A clean Client auto-start should show explorer.exe → CCStartRt.exe only; no Explorer or SCC process should be present.

Step 2 — Read ALM's license.log

ALM records license requests in C:\Program Files\Siemens\Automation\ALM\license.log (Windows 7 and later) or C:\Program Files (x86)\Siemens\Automation\ALM\license.log on 32-bit hosts. Filter for the failing Client:

findstr /i "WinCC" "C:\Program Files\Siemens\Automation\ALM\license.log" | findstr /i "RC\|Development\|expired\|not valid"

Typical lines for the symptom in question:

License request WinCC RC
License not available
License WinCC RC expired on YYYY-MM-DD
License Development required

If the log shows a request for RC, an editor process is definitely executing. If the log shows only RT requests but a pop-up still appears, the issue is in the ALM dialog queue or in a previously installed trial that has not been deleted from the license container.

Step 3 — Audit the auto-start chain

  1. Open regedit and inspect both:
    • HKCU\Software\Microsoft\Windows\CurrentVersion\Run
    • HKLM\Software\Microsoft\Windows\CurrentVersion\Run
    • HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Run (32-bit entries on 64-bit OS)
  2. Open taskschd.msc and review Logon triggers under Siemens, WinCC, or third-party folders.
  3. For each entry, confirm the executable is CCStart.exe or CCStartRt.exe pointing to the project file *.mcp. Replace any reference to WinCCExplorer.exe, SCC.EXE, or CCProjectMgr.exe on the auto-start list.
  4. Inspect Startup folder: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup and %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup.

Step 4 — Inspect User Administrator access level

From a known-good Client (or by booting the affected Client in safe mode with project not auto-started), open WinCC Explorer → User Administrator. Locate the operator account currently used for auto-logon and verify the Configure remote checkbox is off. If the operator inherits higher privileges through a group, change the group's Authorizations tab to remove Configure remote (area ID 1001) and Configuration (area ID 1000) unless those privileges are required.

Step 5 — Audit the ALM license container

  1. Launch Automation License Manager from the Start menu.
  2. In the right pane, switch the view to All licenses (not just Valid).
  3. For every WinCC RC / Development / WebNavigator entry, check the Type column. A 14-day trial or Expired trial row pointing to a Siemens product that is no longer installed must be removed.
  4. Note the License Key (SID). This is required to write a clean .upk or to perform an offline license transfer.

Resolution Paths

Path A — Eliminate the Editor from the Auto-Start

This is the correct architectural fix. A production Client should never run WinCC Explorer — only the WinCC Runtime.

  1. Stop any instance of CCExpMgr.exe and SCC.EXE on the Client.
  2. Open CCStart.ini in the project folder and confirm the [Configuration] section has ActivateRT=1. Set ActivateCE=0 and ActivateCCExp=0 if present.
  3. Replace the auto-start entry so it points to the project directly: "C:\Program Files\Siemens\WinCC\bin\CCStartRt.exe" "D:\Projects\MyPlant\MyPlant.mcp"
  4. Reboot the Client and verify the pop-up no longer appears. Re-check license.log after 10 minutes — only RT requests should be present.

Path B — Remove the Stale Trial License

Expired or orphaned license entries that point to uninstalled software (e.g., a 14-day STEP 7 trial that has been removed) can be cleaned without the original license medium.

  1. Close all Siemens applications, including WinCC and TIA Portal.
  2. Stop the ALM service:
    net stop "almsrv" /y
    sc query almsrv
  3. Back up the ALM license store: xcopy /E /H /K "C:\Program Files\Siemens\Automation\ALM" "D:\Backup\ALM_%date%"
  4. Open ALM, right-click the expired trial entry, and select Remove. If the entry is greyed out, use the Move License dialog to send the entry to a temporary local license pool, then delete from there.
  5. If Remove is still unavailable because the source dongle is missing, run the Siemens License Removal Tool (Siemens KB entry 109767470) which clears orphan .lic and .upk records associated with the host SID. The tool is documented in the Siemens Knowledge Base under Automation License Manager — Remove expired or orphaned licenses.
  6. Restart the service and reboot: net start "almsrv"

Path C — Provide an RC License

Only adopt this path if the project genuinely requires online configuration from the Client (e.g., the Client doubles as an engineering station or runs a vendor-supplied script that opens an editor). Add a valid WinCC RC or Development license via:

  • Online transfer through ALM from a license server on the plant network (recommended), or
  • Offline transfer by exporting a .upk file from the engineering PC (using ALM's License transfer wizard) to USB media, then importing on the Client via ALM's License transfer → Import.
Do not install the WinCC Development license on a production Client unless the license audit allows it. RC/Development licenses are normally bound to engineering PCs and are not transferable between Clients on the fly without re-hosting.

Path D — Demote the Operator Access Level

If the access level audit in Step 4 of the diagnostic procedure shows Configure remote enabled on the auto-logon user, demote the user to Operator only. This stops ALM from requesting editor-tier privileges on the Client session.

Verification

  1. Reboot the Client and log in as the operator. Confirm no ALM pop-up appears.
  2. Open CCGetProject.exe or CCStop.exe and verify the runtime state is Active.
  3. Verify the process tree contains only CCStartRt.exe → CCAlgRt.exe / CCEServer.exe / CCDmServer.exe — no CCExpMgr.exe or SCC.EXE.
  4. Tail license.log for 30 minutes and confirm only RT and aComms requests are logged.
  5. Force-trigger a WinCC tag change from the Server and confirm the Client updates without operator interaction.
  6. Force an alarm and confirm the alarm line and message window appear — this exercises both the alarm and the operator access level, verifying Path D did not regress.

Field-Proven Caveats

  • ALM dialog queue persistence. If the Client is rebooted while the pop-up is on screen, ALM may queue the dialog and replay it on next logon even though no editor is running. Clear the queue by ending almsrv.exe and almexec.exe via Task Manager before rebooting.
  • Time drift on trial licenses. ALM validates the system clock against the trial's start date. A Windows time correction (e.g., NTP resync after a long shutdown) can cause ALM to declare a still-valid trial as expired. Synchronize the clock first, then re-check the pop-up.
  • USB license dongle seating. If the Client uses an Aladdin / CodeMeter dongle, a partial USB re-enumeration after a Windows update will cause ALM to treat the license as missing and demand a fallback that does not exist. Reseat the dongle and re-launch ALM.
  • Anti-virus quarantine of almsrv.exe. Some AV suites (notably Trend Micro and CrowdStrike with the default WinCC exception list disabled) quarantine almsrv.exe, causing license queries to fail. Whitelist the ALM directory and the WinCC bin directory per the Siemens Security Configuration Guide.
  • Project upgrade side effects. A project migrated from WinCC 7.x to WinCC 7.5 or later may leave behind references to editor DLLs that auto-load via the AddIns folder. Inspect <project>\AddIns and remove any non-essential COM add-ins.
  • Server-side license exhaustion. Although rare, a Server that has run out of Client licenses will pass the Client a downgrade demand that ALM presents as an expired-license dialog on the Client. Confirm the Server's ALM shows enough Client slots before applying Path A on the Client.

Quick Decision Matrix

Symptom in license.log Most likely cause Fix
"WinCC RC required" + CCExpMgr.exe in process tree Explorer in auto-start Path A
"WinCC Development required" + no editor process visible Trial license orphaned Path B
"WinCC RC required" + RC license installed and valid on another host Dongle / license server disconnect Reseat dongle or rebind license server
Pop-up only on operator account, not on admin account Access level misconfiguration Path D
Pop-up after project re-deploy AddIns / VBS auto-editor Audit AddIns and project startup scripts, then Path A

Reference Information

For deeper context, consult the Siemens Knowledge Base — Automation License Manager: handling of expired and orphaned licenses, the WinCC V7.5 SP2 — System Manual (chapter on licensing), and the Automation License Manager V6.0 — Administrator Guide. The WinCC Information System installed alongside the engineering software also documents the license type mapping under Licensing > License types.

Why does a Client with only RT + aComms licenses still demand a Development license?

ALM only requests a license tier that the running WinCC process actually needs. The Development/RC demand indicates that an editor (WinCC Explorer, Graphics Designer, User Administrator, etc.) is being loaded — most commonly because WinCCExplorer.exe or SCC.EXE was placed on the auto-start chain instead of CCStartRt.exe.

How do I remove an expired WinCC license when the original license medium is gone?

Stop the almsrv service, back up the ALM directory, then use ALM's Remove action on the expired entry. If it is greyed out, use the Siemens License Removal Tool (KB 109767470) to clear orphan .lic/.upk records tied to the host SID.

Does the operator's WinCC User Administrator access level affect licensing?

Yes. The Configure remote and Configuration access levels authorize editor-side hooks that can cause ALM to request an RC slot. Demote the auto-logon operator to Operator only unless those privileges are documented as required.

Where is the WinCC license log file located?

On a 64-bit Windows install the file is at C:\Program Files\Siemens\Automation\ALM\license.log. Use findstr /i "WinCC" license.log to filter and look for RC, Development, or expired tokens that reveal which license tier is being demanded.

Can a USB license dongle issue mimic an expired-license pop-up on the Client?

Yes. A loose dongle, a USB re-enumeration after a Windows update, or a CodeMeter service crash will make ALM treat the Client license as missing. Reseat the dongle, restart the CodeMeter.exe service, then re-launch ALM to confirm the license is re-recognized.

Back to blog