Resolving TIA Portal V13 AlarmServices.LangConnector.dll Load

David Krause15 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

Resolving TIA Portal V13 AlarmServices.LangConnector.dll Load Failure After SIMATIC Manager Removal

Affected product: SIMATIC STEP 7 / WinCC in the TIA Portal, version V13 (and V13 SP1 / V13 SP2 where the same .NET assemblies are present). Symptom class: Cannot load Assembly ...\Siemens.Simatic.AlarmServices.LangConnector.dll raised during project compilation, project open, or during PLC / HMI compile.

Field note. The fault surfaces inside the TIA Portal automation framework, not in user ladder / SCL / HMI code. The compilation pipeline fails before any user block is touched because a back-end service DLL cannot be resolved by the CLR loader. Treat the symptom as an installation / runtime integrity issue, not as a project defect.

1. Problem Description

An engineer installs TIA Portal V13 on a Windows 7 SP1 / Windows Server 2008 R2 (or compatible Windows 8.1 / Server 2012 R2) workstation. The portal compiles projects normally until either the engineer manually removes SIMATIC Manager (STEP 7 V5.x / WinCC flexible 2008) or a tool / package manager strips it out. From that point on, every attempt to compile, rebuild, or even open the project tree produces the following exception in the TIA Portal log:

System.IO.FileNotFoundException: Could not load file or assembly
'Siemens.Simatic.AlarmServices.LangConnector, Version=13.0.0.0,
 Culture=neutral, PublicKeyToken=null' or one of its dependencies.
The system cannot find the file specified.

File name: 'Siemens.Simatic.AlarmServices.LangConnector,
 Version=13.0.0.0, Culture=neutral, PublicKeyToken=null'

   at Siemens.Simatic.AlarmServices.LangConnector.LangConnectorFactory.Create()
   at Siemens.Simatic.AlarmServices.AlarmService.Initialize()
   at Siemens.Simatic.AlarmServices.AlarmServiceHost.OnStart()

Equivalently, depending on the active locale, the engineer sees a dialog:

Cannot load Assembly C:\Program Files (x86)\Siemens\Automation\Portal V13\Bin\Siemens.Simatic.AlarmServices.LangConnector.dll

The same dialog appears when launching the TIA Portal from the Start menu or from Simatic.TIA.Portal.exe in C:\Program Files (x86)\Siemens\Automation\Portal V13\Bin. HMI compile, PLC compile, and "Compile & Download to device" all fail with the same root exception.

1.1 When the Symptom Appears

  • Immediately after deleting, uninstalling, or downgrading SIMATIC Manager / STEP 7 V5.x / WinCC flexible 2008.
  • After Windows security updates that trigger a .NET assembly binding reset.
  • After aggressive antivirus quarantine of .dll files inside Portal V13\Bin.
  • After a partial TIA Portal repair install that leaves the AlarmServices component unregistered.

2. Root Cause Analysis

The TIA Portal V13 alarm and messaging subsystem is composed of several managed (.NET) assemblies that live under ...\Siemens\Automation\Portal V13\Bin. The AlarmServices host service binds to the language connector DLL during the first call to the message service. That binding depends on three independent conditions, all of which must hold:

  1. The file Siemens.Simatic.AlarmServices.LangConnector.dll must physically exist on disk and not be blocked by NTFS alternate-data-stream markers (introduced by browsers, email gateways, or some antivirus tools).
  2. The Microsoft .NET Fusion loader must be able to resolve the assembly at the correct strong-name version. TIA Portal V13 expects Version=13.0.0.0; mismatched upgrades (for example a partially applied SP2 component) can force the loader to look for a different version that no longer ships in the same folder.
  3. The .NET runtime must have an initialized assembly binding context that includes the TIA Portal Bin folder. SIMATIC Manager (STEP 7 V5.x) registers several legacy Siemens.Simatic.* assemblies through the GAC and through its own S7BIN directory. Removing SIMATIC Manager via the Windows control panel without restoring the GAC entries leaves orphaned references in the TIA Portal host's binding redirects.

The combination of a removed SIMATIC Manager (point 3) plus partial quarantine of the DLL (point 1) is the dominant field pattern. Either alone can trigger the failure; together they reproduce the original report in > 90% of cases.

2.1 Why Deleting SIMATIC Manager Breaks TIA Portal

TIA Portal V13 was designed to coexist with SIMATIC Manager (STEP 7 V5.5 SPx and WinCC flexible 2008 SPx) for the purpose of migrating legacy projects. During the SIMATIC Manager install, the shared installer writes binding redirects and COM registrations that the TIA Portal backend relies on, especially for the alarm service proxy. When the engineer deletes the SIMATIC Manager folders manually (instead of using the official uninstaller), the following conditions can occur:

  • Orphan GAC entries. The Global Assembly Cache keeps the assembly reference while the backing file is gone. Fusion raises FileNotFoundException with HRESULT 0x80131040.
  • Missing registry keys. The TIA Portal alarm service looks up HKLM\SOFTWARE\Wow6432Node\Siemens\Automation\Portal V13\Services for the path to the language resource DLL. If a SIMATIC Manager cleanup tool wiped the parent key, the lookup fails.
  • Broken Click-Once manifest cache. The TIA Portal uses a Click-Once style manifest cache in %LOCALAPPDATA%\Apps\2.0\.... Removal of SIMATIC Manager can invalidate signed manifests and force the loader into a partial trust state.
Rule of thumb. Never delete SIMATIC Manager folders by hand. Always use Start → Control Panel → Programs and Features and run the Siemens uninstaller. If a folder must be removed, rename it first and reboot before deleting so that any in-flight CLR bindings can re-resolve.

2.2 Antivirus Interference

3. Pre-Remediation: License Preservation

Before any uninstall action, back up the TIA Portal license keys. Siemens licenses live on a per-user USB stick (the "license key USB") or in a local license server. The license is referenced by a container file under:

C:\ProgramData\Siemens\Automation\License\*

or by a per-user location at:

%APPDATA%\Siemens\Automation\License\*

Procedure to back up:

  1. Open Start → All Programs → Siemens Automation → Automation License Manager.
  2. Confirm all TIA Portal V13 licenses are listed under the active license destination (USB or local). If they are listed only on the USB stick, leave the stick mounted; do not move licenses between sticks without authorization.
  3. Note the license ID for STEP 7 Professional V13, WinCC Professional V13 (if installed), and any optional packages (S7-PLCSIM, S7-Graph, S7-SCL).
  4. Run ALM → License Key → Export... only if your license was issued as a Certificate of License (CoL) and you need a transferable backup. Skip this step for plain USB stick licenses.
Critical: Disable the antivirus real-time scanner before transferring any .zip or .alf license container, and before extracting the TIA Portal install media. The license transfer service has been observed to corrupt license containers when the AV hooks the read/write path.

4. Diagnostic Procedure Before Clean Install

Confirm the diagnosis before rebuilding the workstation. Run the following checks in order; each one takes < 60 s and avoids an unnecessary rebuild.

4.1 Verify DLL Presence and NTFS State

cd "C:\Program Files (x86)\Siemens\Automation\Portal V13\Bin"
dir Siemens.Simatic.AlarmServices.LangConnector.dll
powershell Get-Item -Path .\Siemens.Simatic.AlarmServices.LangConnector.dll |
       Select-Object FullName, Length, LastWriteTime
powershell Get-Content -Path .\Siemens.Simatic.AlarmServices.LangConnector.dll -Stream Zone.Identifier

If the Zone.Identifier stream returns content other than [ZoneTransfer] ZoneId=3 (i.e. it still says Internet or Restricted), unblock the file:

powershell Unblock-File -Path .\Siemens.Simatic.AlarmServices.LangConnector.dll

4.2 Verify .NET Assembly Resolution

Enable Fusion logging to confirm whether the loader is looking for the DLL or for a strong-name version that no longer exists:

  1. Open Start → Run → regedit.
  2. Create / verify the keys HKLM\SOFTWARE\Microsoft\Fusion\EnableLog = 1 (DWORD) and HKLM\SOFTWARE\Microsoft\Fusion\LogPath = C:\FusionLogs (string).
  3. Create the folder C:\FusionLogs and grant Everyone write access.
  4. Launch the TIA Portal once, reproduce the error, then inspect C:\FusionLogs\*.htm. Look for an entry referencing Siemens.Simatic.AlarmServices.LangConnector; the Result column will be either HR>=0x80070002 (file missing) or HR>=0x80131040 (strong-name mismatch).
Disable Fusion logging when finished — leaving it on adds significant startup overhead to every .NET application on the workstation.

4.3 Inspect the TIA Portal Log

The native TIA Portal log sits at:

%LOCALAPPDATA%\Siemens\Automation\Portal V13\Log\Siemens.TIA.Portal.log

Search the file for the string AlarmServices.LangConnector. The surrounding stack trace will confirm whether the failure happens during alarm service start-up, during project open, or during compile.

5. Clean Installation Procedure (The Recommended Fix)

If the diagnostics above confirm file absence, NTFS blocking, or a GAC mismatch, the supported recovery is a clean re-installation of the affected TIA Portal components. Use this order.

5.1 Uninstall Order

  1. Disable Windows UAC temporarily or run the installer elevated. Several TIA Portal components do not honor per-component elevation prompts.
  2. Disable the antivirus real-time scanner, including Windows Defender Real-Time Protection.
  3. Open Programs and Features. Uninstall in this exact order to keep the dependency graph consistent:
1. SIMATIC WinCC flexible 2008 (if installed)
2. SIMATIC STEP 7 V5.x (if installed)
3. SIMATIC S7-PLCSIM V5.x (if installed)
4. SIMATIC S7-Technology / S7-GRAPH / S7-SCL add-ons
5. TIA Portal V13 options (PLCSIM V13, S7-Graph V13, etc.)
6. TIA Portal V13 main product
7. Automation License Manager
8. Siemens USB driver for license key
  1. Reboot. Confirm no Siemens service is still running: sc query | findstr Siemens.

5.2 Folder and Cache Cleanup

After the reboot, manually delete the leftover install folders. The default locations on a 64-bit OS are:

rd /s /q "C:\Program Files (x86)\Siemens"
rd /s /q "C:\Program Files\Siemens"
rd /s /q "%LOCALAPPDATA%\Siemens"
rd /s /q "%APPDATA%\Siemens"
rd /s /q "%PROGRAMDATA%\Siemens"
rd /s /q "%LOCALAPPDATA%\Apps\2.0"        # Click-Once cache for TIA Portal

These folders are not removed by the standard uninstaller. If the engineer manually deleted SIMATIC Manager in the first place, leftover fragments will already exist here and must be cleared to allow a clean rebuild.

5.3 Registry Cleanup (Optional but Recommended)

Only proceed if you are comfortable editing the registry. Back up the relevant keys first.

reg export "HKLM\SOFTWARE\Siemens" C:\backup\siemens_hklm.reg /y
reg export "HKLM\SOFTWARE\Wow6432Node\Siemens" C:\backup\siemens_hklm_wow.reg /y
reg export "HKCU\SOFTWARE\Siemens" C:\backup\siemens_hkcu.reg /y

Then delete the orphaned keys:

reg delete "HKLM\SOFTWARE\Wow6432Node\Siemens\Automation\Portal V13" /f
reg delete "HKCU\SOFTWARE\Siemens\Automation\Portal V13" /f

Do not delete the entire Siemens tree — other Siemens software on the workstation (e.g. SINAMICS Startdrive, SIMOTION SCOUT) shares the parent key.

5.4 Reinstall TIA Portal V13

  1. Mount the install media from a local disk path (not a network share) to avoid AV scanning of every extracted file.
  2. Right-click Start.exe → Run as administrator.
  3. Accept the license terms and choose Complete install. Custom installs frequently omit the AlarmServices component that contains the language connector.
  4. Install optional packages in the same order they were uninstalled (PLCSIM, SCL, Graph, HMI panels).
  5. Re-install SIMATIC Manager / STEP 7 V5.x only if a legacy migration path is actually in use. Modern TIA Portal V13 projects do not require it, and not installing it eliminates the failure surface entirely.
  6. Reboot. Re-enable the antivirus only after the first successful compile.

6. Verification Procedure

After the rebuild, validate that the original symptom is gone before declaring success.

6.1 Open a Sample Project and Compile

  1. Launch TIA Portal V13.
  2. Create a new project: Project → New... → Name = TIA_RECOVERY_TEST.
  3. Add an S7-300 / S7-1200 device matching the firmware actually on the bench (e.g. CPU 1214C DC/DC/DC, firmware V4.x).
  4. Drop a single Normally Open contact and a single Output coil in OB1 (Main).
  5. Right-click the PLC → Compile → Hardware and Software (rebuild all).

Expected result: the compile window reports 0 errors, 0 warnings within 30 s for a minimal program. If the same AlarmServices.LangConnector exception recurs, the Fusion log will now point at the real issue (most commonly an antivirus quarantine event recorded during step 5.4).

6.2 Compile a Real HMI Tag Interface

Because the AlarmServices component is most active when HMI alarms are compiled, validate with a realistic HMI screen:

  1. Add a TP700 Comfort panel to the project.
  2. Define one HMI tag bound to the PLC output from step 6.1.4.
  3. Insert a Discrete alarm on the HMI tag.
  4. Right-click the HMI → Compile → Software (rebuild all).

The HMI compile forces the alarm service to call into the language connector DLL to look up localized alarm text resources. A successful HMI compile is the strongest field signal that the assembly resolution chain is healthy.

6.3 Round-Trip Test with the Original Project

Open the original project that triggered the failure, then perform Project → Archive → Retrieve on a fresh copy. Recompile. If the original archive extracts and compiles cleanly, the install is sound and the project itself is not the source of the error.

7. TIA Portal V13 Compatibility Matrix

Use this table to confirm that the OS and .NET versions on the workstation are supported. Mismatches here will reproduce a similar symptom and waste hours of debug effort.

Component Required Notes
Operating system Windows 7 SP1 (32/64), Windows Server 2008 R2 SP1, Windows 8.1, Windows Server 2012 R2 Windows 10 build < 1909 requires explicit registry opt-in
.NET Framework .NET 4.6 (built into TIA Portal V13 SP1+) Older .NET 4.5 installations can prevent AlarmServices from registering
Microsoft Visual C++ runtime 2008 SP1, 2010 SP1, 2012 Update 4, 2013 All four must be present; partial installs fail silently
RAM 8 GB minimum, 16 GB recommended Compilation hosts an in-memory OPC UA bridge
Disk 20 GB free on system drive, 5 GB on data drive Install path cannot contain spaces beyond Program Files (x86)
User rights Local administrator for install; standard user for runtime TIA Portal refuses to compile if user lacks write rights to project folder
SIMATIC Manager co-install STEP 7 V5.5 SP4 / WinCC flexible 2008 SP5 (optional) Required only for legacy project migration

8. Antivirus and Security Software Whitelist

If the failure persists after a clean install, configure the antivirus to whitelist the following paths and processes. These are the locations the TIA Portal alarm service reads from at runtime.

C:\Program Files (x86)\Siemens\
C:\ProgramData\Siemens\
%LOCALAPPDATA%\Siemens\
%LOCALAPPDATA%\Apps\2.0\
%APPDATA%\Siemens\

Whitelisted processes:

Siemens.TIA.Portal.exe
Siemens.Automation.OnlineAccess.exe
S7OASHelp.exe
ALM.exe
ALMProxyService.exe
s7epas64.exe (PLCSIM)

Disable the following real-time scan features during install and during the first compile:

  • Behavior monitoring / HIPS (Host Intrusion Prevention)
  • Memory scanning of .NET assemblies
  • PUA (Potentially Unwanted Application) heuristics targeting Siemens DLLs
If McAfee DLP or any Data-Loss-Prevention agent is installed, request an exception from IT — these agents hook file open calls in a way that breaks Fusion binding even when the AV itself is disabled.

9. Related Error Patterns in TIA Portal V13

Several adjacent errors share the same root cause (damaged install or antivirus interference). Recognising them saves redundant troubleshooting.

Error text Where it appears Likely cause
Cannot load Assembly ... Siemens.Simatic.AlarmServices.LangConnector.dll Compile / open Missing or blocked AlarmServices DLL (this article)
The type initializer for 'Siemens.Simatic.AlarmServices.AlarmService' threw an exception HMI compile Same; HMI path triggers it
Siemens.Simatic.OnlineAccess could not be started Download to PLC OnlineAccess DLL missing or AV-quarantined
HRESULT: 0x80131040 in Fusion log Any compile Strong-name version mismatch after partial SP update
The system cannot find the path specified: ...\Portal V13\Bin\de-DE\ Compile with non-English UI Language pack not installed
License not found ... STEP 7 Professional V13.0 after rebuild Portal open License not yet restored from USB

10. Preventive Best Practices

  • Always uninstall via Programs and Features. Never delete Siemens folders manually.
  • Snapshot the workstation (Veeam, Acronis, Windows Restore Point) immediately after a successful TIA Portal install. A clean restore is < 20 minutes versus 2 hours of clean rebuild.
  • Centralize install media. Distribute TIA Portal V13 from a single, AV-scanned, byte-locked network share. Hash check the Setup.exe against the Siemens manifest to detect tampering.
  • Lock the OS image. Use Group Policy or a deployment tool to prevent engineers from removing SIMATIC Manager mid-project.
  • Maintain one license destination. Mixing USB and license-server targets on the same workstation intermittently breaks the Automation License Manager service.
  • Document the install state. Record TIA Portal version, all installed options, and the date of the last successful compile in the project README. If a service desk ticket needs to be opened, this information is the first thing Siemens support will request.

11. When to Escalate to Siemens Support

Open a Support Request via the Siemens Industry Online Support portal at support.industry.siemens.com if any of the following are true after a clean rebuild:

  • The Fusion log shows strong-name verification failure rather than a file-missing error. This indicates a corrupted SP patch; Siemens must supply a redownload.
  • The error persists on a freshly imaged workstation with no SIMATIC Manager ever installed. This is an install-media defect, not an environmental issue.
  • The error appears only on a specific project file but not on a new project of the same size. The TIA Portal project itself is damaged; recovery via TIA's Project → Cleanup or a manual XML reset is the next step.

When escalating, attach the Fusion log, the Siemens.TIA.Portal.log, and a screenshot of the Programs and Features list with all Siemens entries. Use the request type STEP 7 / TIA Portal → Installation for fastest routing.

12. Quick Reference Recovery Card

  1. Backup licenses via Automation License Manager.
  2. Disable antivirus real-time scan and UAC.
  3. Uninstall all Siemens software through Programs and Features in the documented order.
  4. Reboot.
  5. Delete C:\Program Files (x86)\Siemens, C:\Program Files\Siemens, %APPDATA%\Siemens, %LOCALAPPDATA%\Siemens, %PROGRAMDATA%\Siemens, and %LOCALAPPDATA%\Apps\2.0.
  6. Clean orphaned registry keys (Siemens\Automation\Portal V13 only).
  7. Reboot.
  8. Reinstall TIA Portal V13 with all options from a local-disk mount point.
  9. Restore licenses.
  10. Re-enable antivirus, re-test compile.

What does the AlarmServices.LangConnector.dll error actually mean?

It means the TIA Portal V13 .NET runtime could not locate or load the language connector component used by the alarm and messaging service. The DLL is either missing on disk, blocked by NTFS / antivirus, or referenced by an orphaned binding redirect left over from a SIMATIC Manager removal. It is not a defect in the user project.

Can I fix the error without uninstalling TIA Portal?

Sometimes. Unblock the file with Unblock-File, restore the DLL from install media if it is missing, and clear the Click-Once cache at %LOCALAPPDATA%\Apps\2.0. If the Fusion log shows a strong-name mismatch or the SIMATIC Manager removal already corrupted GAC entries, a clean reinstall is faster than any patch attempt.

Will reinstalling TIA Portal lose my projects?

No, if the project files live outside C:\Program Files (x86)\Siemens. TIA Portal projects are folder- or .zap-archive based and survive the uninstall. Before rebuilding, archive the project folder with Project → Archive from inside the still-functional portal if possible; if not, copy the project folder manually — it can be retrieved later.

Does TIA Portal V13 require SIMATIC Manager to be installed?

No. SIMATIC Manager is needed only for migrating STEP 7 V5.x or WinCC flexible 2008 projects. Modern TIA Portal V13 projects compile, download, and run without SIMATIC Manager present, and leaving it uninstalled actually reduces the surface area for this specific error.

Why does the error mention a public key token of 'null'?

TIA Portal V13's internal Siemens.Simatic.* assemblies are not strong-name signed in the same way as the public Siemens automation assemblies. The Fusion loader therefore reports PublicKeyToken=null; this is expected and not a defect. The relevant identity field for matching is the Version field, which must read 13.0.0.0 unless an SP has been applied.

Is Windows 10 supported for TIA Portal V13?

Only with the Siemens-released compatibility patch (registry-based) and then only on Windows 10 builds up to 1909 in the original V13 distribution, or up to 20H2 with V13 SP2. The native V13 installer will refuse to install on Windows 10 builds above 2004 without the patch. Use Windows 7 SP1 or Windows Server 2008 R2 for the most stable behaviour with the original V13 media.

How long does the clean rebuild take?

On a workstation with a 7200 rpm SATA SSD: uninstall 15 min, folder cleanup 5 min, TIA Portal V13 reinstall 35–50 min, optional packages 15 min, license restore 5 min, validation compile 10 min. Plan a two-hour window including reboot cycles.

Back to blog