Resolving Siemens SIMATIC S7 No Valid License Key Found Error

David Krause13 min read
SiemensTIA PortalTroubleshooting
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 Overview

Siemens SIMATIC STEP 7 V5.x and the modern TIA Portal both depend on the Automation License Manager (ALM) to validate the locally installed or USB-dongle license keys. When ALM cannot reconcile the on-disk evidence with the registry entries stored under HKLM\SOFTWARE\Siemens\Automation\LicenseManager, the engineering software refuses to start the PG/PC interface and displays a modal error:

NO VALID LICENCE KEY FOUND — PLEASE INSTALL A VALID LICENCE KEY

This failure mode has been documented across STEP 7 V5.3 through V5.5, STEP 7 Professional in the TIA Portal V13–V18, WinCC flexible 2008, and the legacy PLCSIM 5.x simulator. The root cause is never the presence of a valid CoL (Certificate of License); it is the corruption, displacement, or masking of the on-disk evidence ALM relies on to recognize that a CoL exists.

Symptoms and Error Messages

Engineers report one or more of the following on a previously working station:

  • STEP 7 / TIA Portal opens only in read-only project mode and blocks online download to the CPU.
  • ALM shows a Status: — row for a CoL that previously read Status: ✓ and lists Validity: 0 days (14 days) with the License No. field set to 99999999999000000 — a sentinel value ALM uses to mark a missing or unregistered trial key.
  • Pluggable license (USB) is visible in Windows Device Manager but ALM still returns "no valid license found".
  • Behavior is timezone-sensitive: license validates during the day in Riyadh, fails at night; or only works after manually toggling the Windows clock.

Root Cause Analysis

Four distinct root conditions have been confirmed by Siemens Support and reproduced in field service. They are not mutually exclusive — a single PC can host two or three of them simultaneously.

1. Expired Trial or Rental License Residue

STEP 7 ships with a 14-day trial license for PLCSIM and a separate 14-day rental for the editor itself. ALM tracks trial/rental expiration by comparing the system clock against a timestamp embedded in the CoL. When the trial expires, ALM does not delete the CoL from the hidden storage area; it instead flags the entry and writes a reversed sentinel directory back to the system drive. This sentinel is the source of the 99999999999000000 license number and the 0 days (14 days) validity string shown in ALM.

2. The Automation License Manager Time-Zone Bug

ALM versions distributed with STEP 7 V5.3 through V5.5 (and several early TIA Portal builds) compute the trial/rental expiration timestamp using a UTC offset that must be a whole number of hours. Time zones with fractional offsets — India (UTC+5:30), Iran (UTC+3:30/+4:30), Afghanistan (UTC+4:30), Myanmar (UTC+6:30), parts of Australia (UTC+9:30/+10:30), and Newfoundland (UTC−3:30) — cause ALM to incorrectly classify a still-valid CoL as expired. This bug was logged with Siemens under the internal tracking note that valid licenses are not recognised when the time zone set in the PC operating system is NOT GMT ± a whole number of hours.

3. Disk Defragmentation Displacement

For CoLs that are not stored on the Siemens USB dongle (i.e. soft licenses transferred to the local hard drive), ALM validates the CoL by reading a hash that includes the physical cluster position of the key file on the volume. Any operation that relocates the cluster chain — Windows defragmenter, SSD TRIM/garbage collection, partition resize, or even a low-disk-space chkdsk relocation — invalidates the cluster signature. ALM then reports the CoL as missing even though the file is still present in the source directory.

4. Hidden ATTIS Directory and Reverse-Named File Residue

When ALM decommissions a trial CoL it writes a residual marker file. The naming convention reverses the original EKB string. The original trial key SITTA1PLCS0503.EKB (PLCSIM V5.3 trial) is mirrored as 3PUPsclpQattis in the C:\Windows and C:\Windows\System32 trees, and the source .EKB is moved into a hidden system folder C:\AX NF ZZ. These artefacts are not removed when a valid CoL is later installed, and ALM gives the residual trial marker priority during startup, masking the genuine license.

Affected Software and Versions

Software Order Number (Floating License example) ALM Behavior Time-Zone Bug Confirmed
STEP 7 V5.3 6ES7810-4CC07-0YA5 Classic 14-day trial, residue retained Yes
STEP 7 V5.4 6ES7810-4CC08-0YA5 Same residue pattern Yes
STEP 7 V5.5 6ES7810-4CC10-0YA5 Improved cleanup, still affected by defrag Yes
PLCSIM V5.x 6ES7841-0CC05-0YA5 Generates SITTA*.EKB residue Yes
WinCC flexible 2008 6AV6613-1AA51-3CA5 Uses same ALM Yes
TIA Portal V13–V15 6ES7822-1AA04-0YA5 New ALM 6.x; some residue carried over from V5 Partial
TIA Portal V16+ 6ES7822-1AA05-0YA5 ALM 6.0.11+ resolves time-zone issue No

CoL format shown in ALM for the floating license above reads:

Order Number : 6ES7810-4CC07-0YA5
License Type : Floating License
CoL          : S79220-A6839-F268-01
Lic-No.      : 00 (twenty-digit, station-specific)

Diagnostic Procedure

Run the following checks in order before applying any corrective action. Each step confirms or eliminates one root cause and prevents destructive cleanup when the cause is something else (e.g. expired maintenance contract, dead USB dongle, broken service).

  1. Open ALM standalone: Start → Programs → Siemens Automation → Automation License Manager. Record the Status, Validity, License Number, and the physical path of every CoL listed.
  2. Compare against the CoL paper certificate: The 20-digit Lic-No. printed on the original Siemens CoL must match what ALM shows. A 99999999999000000 string is a trial-residue marker, not your real CoL.
  3. Verify ALM service: sc query "ALM" in an elevated command prompt. State must be RUNNING, Start Type AUTO. If STOPPED, start it with sc start ALM and re-test.
  4. Check Windows time zone: control /name Microsoft.DateAndTime → "Change time zone…". Note the UTC offset. If the offset is fractional (e.g. UTC+05:30, UTC+03:30), the timezone bug is in play.
  5. Reveal hidden system files: Folder Options → View → enable Show hidden files and folders and disable Hide protected operating system files. Then enumerate the hidden ALM storage paths.
  6. Inspect residual folders:
    dir /a:hs C:\AX NF ZZ
    dir /a:hs C:\Windows\*ATTIS* /s
    dir /a:hs C:\Windows\System32\*ATTIS* /s
    A non-empty result confirms root cause #4.
  7. Defragmentation history: defrag C: /U /V shows the last run timestamp. If a relocation event post-dates the CoL install, root cause #3 is likely.
  8. USB dongle test: Re-seat the dongle on a known-good port; check Device Manager → "Smart card readers" for a yellow bang. Run slmdrt.exe (located in C:\Program Files\Siemens\Automation\LicenseManager\bin) to dump the dongle serial number and compare to the CoL.

Resolution Methods

Method 1 — Remove Trial-Key Residue (Root Cause #1 and #4)

This is the most common fix and resolves the symptom set reported in the field. Close ALM, close STEP 7, close TIA Portal, and stop the ALM service before touching the registry or the file system.

  1. Open an elevated command prompt: net stop "ALM" then taskkill /F /IM ALM.exe and taskkill /F /IM s7hsrt.exe.
  2. Enable the display of hidden and protected operating system files (diagnostic step 5 above).
  3. Delete the residual trial key folder. From the elevated prompt:
    rd /s /q "C:\AX NF ZZ\SITTA1PLCS0503.EKB"
    rd /s /q "C:\AX NF ZZ"
    The SITTA*.EKB pattern may include SITTA1PLCS0504, SITTA1PLCS0505, or SITTA1STEP70503 depending on the trial product — wildcard delete is safe inside this folder.
  4. Delete the mirrored ATTIS directories. These use the ATTIS suffix (matching characters) and may appear with any prefix, e.g. 3PUPsclpQattis:
    rd /s /q "C:\Windows\3PUPsclpQattis"
    rd /s /q "C:\Windows\System32\3PUPsclpQattis"
    for /d %d in (C:\Windows\*ATTIS*) do rd /s /q "%d"
    for /d %d in (C:\Windows\System32\*ATTIS*) do rd /s /q "%d"
  5. Restart the ALM service: net start "ALM".
  6. Reopen the License Manager and verify that the genuine CoL now reports Status: ✓ with the correct 20-digit Lic-No.
Caution: The deletion above is targeted at the residue folders. Never delete a CoL whose status shows Status: ✓ and a real 20-digit license number — doing so invalidates the license and requires a fresh transfer from the original USB dongle or a re-issue from Siemens.

Method 2 — Correct the Time-Zone Bug (Root Cause #2)

If the Windows time zone uses a fractional UTC offset, change it to a whole-hour offset that matches the local solar time, then restart ALM.

  1. Open timedate.cplChange time zone.
  2. For UTC+05:30 (India, Sri Lanka) use (UTC+06:00) Dhaka or (UTC+05:00) Islamabad, Karachi.
  3. For UTC+03:30 (Iran) use (UTC+04:00) Abu Dhabi, Muscat or (UTC+03:00) Baghdad.
  4. For UTC+04:30 (Afghanistan) use (UTC+04:00) Abu Dhabi or (UTC+05:00) Islamabad.
  5. For UTC+09:30 (ACST Australia) use (UTC+09:00) Osaka, Sapporo or (UTC+10:00) Canberra.
  6. For UTC−03:30 (Newfoundland) use (UTC−04:00) Atlantic Time (Canada) — only one whole-hour offset away.
  7. Click OK, then net stop "ALM" & net start "ALM".
  8. Reopen ALM and confirm the CoL is recognized.

The shift is acceptable because ALM's validation logic uses the integer hour component of the UTC offset to bucket the timestamp; a one-hour displacement keeps the CoL inside its validity window. The TIA Portal V16 (ALM 6.0.11+) finally addressed this defect and accepts fractional offsets natively, so a station migrated to V16+ can restore the correct local time zone.

Method 3 — Recover a CoL Displaced by Defragmentation (Root Cause #3)

Soft licenses that have been moved by a defragmenter cannot be self-repaired by ALM. The fix path is:

  1. Insert the original Siemens USB license dongle that came with the software purchase.
  2. Open ALM, right-click the soft CoL row, and choose Move License….
  3. Select the USB dongle as the destination. This transfers the CoL back to the tamper-resistant medium.
  4. Re-insert the dongle to confirm ALM reports the CoL as .
  5. If the original dongle is lost, request a re-issue from Siemens via the Automation and Drives Service portal. Provide the 20-digit Lic-No., the order number (e.g. 6ES7810-4CC07-0YA5), the CoL certificate number, and proof of purchase. Siemens re-hosts the CoL on a replacement dongle and ships it; the typical turnaround is 5–10 business days.
Tip: To prevent recurrence, store all soft CoLs on the USB dongle from the start and exclude the AX NF ZZ directory tree from any scheduled defragmentation or backup pruning.

Method 4 — Escalate to Siemens Support

When none of the above resolves the issue — typically when the original dongle is physically damaged or the CoL file itself is corrupt — escalate through the official channel:

  1. Generate a license dump: in ALM choose Help → License Information… → Save. The file is LicenseInfo.txt.
  2. Generate a system info report with the Siemens SIMATIC Diagnostic Tool (SDT). Bundle it with msinfo32 /report C:\siemens_diag.nfo output.
  3. Open a support request at the Siemens Industry Online Support portal under Product Support → SIMATIC → STEP 7 → Licensing. Reference the CoL certificate, the order number, and the LicenseInfo.txt dump.
  4. For users in time-critical production situations, the Siemens FastCopy utility is referenced in public Siemens KB articles for emergency license transfer between two registered stations, but execution requires a valid maintenance contract.

Verification

After applying any resolution method, perform the full verification sequence before returning the station to production use.

  1. Launch ALM. Confirm every expected CoL shows Status: ✓, a real 20-digit Lic-No. (not the 9999… sentinel), and a non-zero validity.
  2. Start STEP 7 / TIA Portal. Create a new project, add an S7-300 or S7-1500 station, and attempt an online connection via Accessible Nodes. The diagnostic buffer of the CPU should be reachable.
  3. Open PLCSIM and start a simulation instance. If the PLCSIM 5.x trial residue was the trigger, PLCSIM should now launch without re-prompting for a license.
  4. Reboot the PC. License validation must survive a cold start, not just a service restart. If ALM reports the CoL only after a service restart, the residual cleanup was incomplete.
  5. Switch the Windows time zone back to the correct local zone. If the CoL drops to Status: —, root cause #2 is still active and either the workaround time zone must remain in place or the station must be upgraded to TIA Portal V16+ with ALM 6.0.11+.
  6. Schedule a defragmenter-disabled verification: run defrag C: /O /V once and re-validate. If the CoL drops, the cluster-signature path is unstable and the CoL must be moved to the USB dongle permanently.

Preventive Measures

  • Store CoLs on the USB dongle. Soft licenses are convenient but vulnerable to disk reallocation. Dongle-resident CoLs are validated by the dongle's smart-card chip and ignore the local file system.
  • Disable scheduled defragmentation on the system volume. On SSDs this is also a wear-avoidance measure; on HDDs it protects ALM's cluster signature.
  • Clean up trial CoLs immediately when the paid CoL is installed. Use the steps from Method 1 as a post-install checklist.
  • Upgrade to TIA Portal V16 or newer if the engineering fleet is rebuilt. The newer ALM 6.0.11+ resolves both the time-zone bug and the trial-residue masking behavior.
  • Document the 20-digit Lic-No. and the CoL certificate number in a secure but retrievable location. A re-issue cannot be started without them.
  • Avoid modifying the Lic-No. The 20-digit identifier is not a serial number in the sense of product activation keys (see Product key on Wikipedia for the general definition); it is a Siemens-internal license locator. Manually editing the field is impossible because the value is computed and signed by the Siemens key-generation server.

Migration Path to TIA Portal

For stations still running STEP 7 V5.3–V5.5, the licensing model is the same but the storage location has changed. TIA Portal V16 onward uses ALM 6.0.11+, which is installed under C:\Program Files\Siemens\Automation\LicenseManager\bin\ALM.exe (32-bit) and ...\bin64\ALM.exe (64-bit). The hidden AX NF ZZ directory is replaced with %PROGRAMDATA%\Siemens\Automation\LicenseManager\Vault and uses standard NTFS ACLs instead of the legacy hidden-system-attribute scheme, so the cleanup procedure from Method 1 is no longer required for fresh installations — but stations migrated from V5.x can still carry the old residue and require a one-time cleanup before the new ALM will write to the new vault.

A migration that retains V5.x projects alongside the TIA Portal (a common dual-stack setup in plants that have not yet retired S7-300/400 fleets) must keep the V5.x CoL on its original USB dongle because the newer ALM does not enumerate the legacy AX NF ZZ vault.

Troubleshooting Matrix

Observed Symptom Most Likely Root Cause First Action Escalation Trigger
Validity shows "0 days (14 days)", Lic-No. 99999999999000000 Trial residue (RC #1, #4) Method 1 cleanup Status stays — after cleanup
License works in morning, fails overnight Time-zone / clock boundary (RC #2) Method 2 timezone shift Timezone shift breaks other software
Status went — right after defrag run Cluster relocation (RC #3) Move CoL to USB dongle Dongle also reports —
Both dongle and soft CoL report — ALM service stopped or ALM install corrupt sc query ALM, reinstall ALM Reinstall fails with shared-file-in-use
Error appears only on TIA Portal V16+, V5.x still works Vault path mismatch after upgrade Method 1 cleanup, then re-attach CoL Vault write permission denied
CoL 20-digit number was edited externally User attempted to modify a CoL — invalid signature Stop editing, contact Siemens CoL file checksum no longer matches

FAQ

Why does my STEP 7 license suddenly show 99999999999000000 after 14 days?

The 14-day trial license issued by PLCSIM and the STEP 7 editor does not disappear from the system; ALM flags it as expired and writes a sentinel license number (99999999999000000) plus a residual hidden folder. Delete the C:\AX NF ZZ tree and any *ATTIS directories under C:\Windows and C:\Windows\System32 after stopping the ALM service, then restart ALM so the genuine CoL is recognized.

My time zone is UTC+05:30 (India) and the license fails — what should I do?

ALM versions below 6.0.11 only accept whole-hour UTC offsets. Temporarily change Windows to a whole-hour zone such as (UTC+06:00) Dhaka or (UTC+05:00) Islamabad, restart ALM with net stop "ALM" & net start "ALM", then verify the CoL. For a permanent fix, upgrade to TIA Portal V16 or newer (ALM 6.0.11+) which supports fractional offsets.

Will running a disk defragmenter invalidate my soft license?

Yes. Soft (non-dongle) CoLs are validated against the physical cluster position of the key file, so any relocator — Windows defragmenter, SSD TRIM, partition resize, chkdsk on a full volume — can invalidate the CoL even though the file is still present. Move the CoL to the USB dongle with ALM's Move License… action and disable scheduled defragmentation on the system volume.

Can I edit the 20-digit Lic-No. field to fix a typo?

No. The 20-digit value is not a user-editable serial number in the sense of a generic product key; it is a Siemens-signed license locator and any edit invalidates the cryptographic signature. If the printed certificate is wrong, contact Siemens support with the order number (e.g. 6ES7810-4CC07-0YA5) and the CoL paper certificate for a re-issue.

Where is the Siemens Automation License Manager installed and how do I restart it?

ALM installs under C:\Program Files\Siemens\Automation\LicenseManager\bin\ALM.exe (32-bit) and ...\bin64\ALM.exe (64-bit). The Windows service is named ALM. Restart with net stop "ALM" & net start "ALM" from an elevated command prompt, or via services.msc. If the service fails to start, check the Windows event log under Applications and Services Logs → Siemens ALM for the failure code.

Back to blog