Problem Overview
Siemens TIA Portal V18 with Update 3 terminates unexpectedly (silent shutdown, no error dialog) the moment the user invokes any operation that opens a Windows shell dialog. The most frequently reported triggers are:
- Project > Save As (file system picker to choose destination path)
- Project > Archive (file system picker for .zap archive target)
- Options > Settings > Browse (storage location configuration)
- Any dialog requiring a native
IFileOpenDialog/IFileSaveDialogCOM call from the TIA shell process
The application closes without an error code, Event Viewer entry tied to a Siemens module, or a TIA Portal crash dump in the default location (%LOCALAPPDATA%\Siemens\Automation\Portal V18\Logs). Standard editing, online monitoring, and program download all function correctly; only Windows shell integration triggers the failure. This behavior has been reproduced on Windows 10 Enterprise 22H2 and confirmed on both fresh and upgraded installations.
TIA_Portal.exe process exits with code 0xC0000005 (access violation) in Windows Application logs immediately after the common file dialog is requested by the IDE. The crash is triggered by the IFileDialog::SetOptions call inside the shell extension host, not by TIA logic itself.Affected Versions and Platforms
| Component | Verified Version | Status |
|---|---|---|
| TIA Portal STEP 7 / WinCC | V18.0 + Update 3 | Affected |
| TIA Portal STEP 7 / WinCC | V17.x (same laptop) | Not affected |
| Windows 10 Enterprise | 22H2 (build 19045) | Reproduced |
| Windows 11 Pro | 23H2 | Reported (similar) |
| OneDrive sync client | Build 23.xx and newer | Contributing factor |
The defect is specific to the V18 shell bridge between the .NET-based IDE and the Windows shell. TIA V17 on the same machine works correctly, which proves the regression was introduced in the V18 install image, the V18 Update 3 patch, or the supporting runtime (Siemens SIMATIC S7-PCT, PLCSIM, or the Openness V18 API shell extension). Reviewing the Major changes for long-term stability in TIA Portal Openness V18 confirms that V18 introduced rewritten save, save-as-new, and save-as-new-revision code paths for proxy objects. The same shell-bridge changes that harden the Openness API are also present in the IDE dialog layer and are the likely regression vector.
Root Cause Analysis
Three independent factors can cause the silent crash. They often combine on a single workstation.
1. Installation privilege mismatch
TIA Portal V18 uses a per-user COM activation model. If the original installation was performed with elevated (run-as-administrator) rights but the daily launcher is started as a standard user, or vice versa, the HKEY_CLASSES_ROOT\CLSID registrations for the Siemens file dialog handler are owned by an account that cannot read them. The IDE spins up a BrowseFolder host, fails the CoCreateInstance call, and the unmanaged shell bridge dereferences a null interface pointer. Siemens' standard repair routine does not rewrite the COM class store under %LOCALAPPDATA%; only a full uninstall + reinstall with matching UAC context rebuilds the entries.
2. OneDrive-managed default storage path
The TIA Portal first-run wizard writes the default project storage location to %USERPROFILE%\OneDrive\Documents\Automation when OneDrive is set to back up the Documents library. The OneDrive Files On-Demand filter driver (OneDriveTelemetry.dll) hooks every IRP_MJ_CREATE on user-profile paths and returns STATUS_REPARSE for files that have not been hydrated. When TIA's file dialog calls GetFolderTargetInfo to enumerate the proposed path, the reparse storm corrupts the dialog's internal state and the IDE shuts down.
HKCU\Software\Siemens\Automation\Portal V18\Settings\ProjectStorage. If the value contains OneDrive, this factor is active.3. Shell extension conflict
Third-party shell extensions (Dropbox, Google Drive, Box, Git LFS, antivirus context-menu handlers such as Trend Micro, SentinelOne, or Carbon Black) inject in-process objects into every file dialog. Several of them are not thread-safe and crash the dialog when the V18 shell bridge raises the dialog on a non-UI thread, which V18 does for the Openness-driven proxy save paths described in the V18 Openness stability notes.
Pre-Diagnostic Checklist
Run the following commands before changing anything, so the root cause can be confirmed:
- Open Event Viewer > Windows Logs > Application and filter for Source = Application Error. Confirm the faulting module is
Siemens.Automation.Portal.Shell.dllorSiemens.Automation.Openness.dllwith exception code0xC0000005. - Open Task Manager > Details, add the Command Line column, and right-click the TIA Portal shortcut. Verify whether it includes
--elevatedor the standard user token. - Open
regeditand export:HKLM\SOFTWARE\Siemens\Automation\Portal V18HKCU\SOFTWARE\Siemens\Automation\Portal V18 - Run
whoami /priv | findstr "SeDebug"andwhoami /groups | findstr "Mandatory". Capture the integrity level. - Run
where /R "%ProgramFiles%\Siemens\Automation" TIA_Portal.exeand record the install path. - Run
fsutil reparsepoint query "%USERPROFILE%\OneDrive\Documents\Automation"to confirm reparse status.
Step-by-Step Resolution
Step 1 - Move the default storage path off OneDrive
- Open TIA Portal as Administrator.
- Navigate to Options > Settings > General > Storage locations for projects / libraries / archives.
- Replace the path with a local, non-synced location such as
D:\Automation\ProjectsorC:\Programs\Siemens\Projects. - Create the folder manually in Explorer first; do not rely on the dialog to create it.
- Restart TIA Portal and confirm the path persists in
HKCU\Software\Siemens\Automation\Portal V18\Settings\ProjectStorage.
Step 2 - Disable hostile shell extensions for the TIA session
Use Sysinternals Autoruns and untick the following entries under the Shell Extensions tab:
-
DropboxExt64.dll/DropboxExt.dll GoogleDriveFS64.dll-
OneDriveShellExtensions.dll(this is the most common culprit on a OneDrive-managed profile) - Antivirus right-click handlers (Trend Micro
TiMiniFt64.dll, SentinelOneSentinelShellExt.dll, CrowdStrikeCSShellExt.dll)
Reboot. Do not uninstall the OneDrive client; simply disable the shell extension so the dialog is not intercepted.
Step 3 - Force a clean V18 reinstall with matching UAC context
- Close all Siemens applications (TIA Portal, PLCSIM, SINAMICS Startdrive, SIMOCODE ES).
- Open Control Panel > Programs and Features and uninstall, in this order:
- SIMATIC TIA Portal V18 Update 3
- SIMATIC TIA Portal V18
- SIMATIC STEP 7 / WinCC Professional V18
- Siemens Openness V18
- Siemens PLCSIM V18
- Delete the leftover folders:
%ProgramFiles%\Siemens\Automation%ProgramData%\Siemens\Automation%AppData%\Siemens\Automation%LocalAppData%\Siemens\Automation - Run
regeditand remove the keys:HKLM\SOFTWARE\Siemens\Automation\Portal V18HKCU\SOFTWARE\Siemens\Automation\Portal V18HKCR\CLSID\{B0AB4F4A-XXXX-...}entries owned bySiemens AG - Reboot into a clean, elevated command prompt (
cmd.exe > Run as administrator). - Mount the V18 install media, run
Setup.exeas Administrator, and apply Update 3 in the same elevated session. - After install, create the TIA Portal desktop shortcut from the freshly written
%ProgramData%\Microsoft\Windows\Start Menu\Programs\Siemens Automationlink, right-click it, choose Properties > Compatibility > Run this program as administrator, and tick it permanently. - Launch TIA Portal from that shortcut, then always invoke Save As / Archive from this elevated process.
Step 4 - Verify the Openness shell bridge is registered
The Openness V18 save-as proxy code path described in the V18 long-term stability notes requires the following assemblies to be GAC-registered and readable by the current user:
Siemens.Engineering.dll
Siemens.Engineering.AddIn.dll
Siemens.Engineering.Hmi.dll
Siemens.Engineering.Openness.dll
From an elevated PowerShell run:
[System.Reflection.Assembly]::LoadFrom("C:\Program Files\Siemens\Automation\Portal V18\PublicAPI\V18\Siemens.Engineering.dll") | Select-Object FullName
If the assembly throws FileLoadException or UnauthorizedAccessException, the COM bridge is broken and the GUI dialog will continue to crash.
Verification
After the steps above, run the following verification sequence and record the result of each step:
- Create a new project (File > New > Project) and confirm the dialog opens without a shutdown.
- Use Project > Save As, choose a local path, confirm the file dialog opens and the new
.ap18directory is created. - Use Project > Archive, confirm the
Save Asdialog opens and produces a.zap18file. - Open Options > Settings, click the Browse button next to the project storage path, confirm the folder picker appears.
- Open Event Viewer and confirm no
Application Errorentries with faulting moduleSiemens.Automation.Portal.Shell.dllhave been written in the last 30 minutes. - Run a Save-As through the Openness API (C# sample below) to confirm the proxy save path also works end-to-end.
using Siemens.Engineering;
using Siemens.Engineering.Project;
var tia = new TiaPortalProcess(true); // attach to running instance
var project = tia.Projects.First(p => p.Name == "MyProject");
project.SaveAs("D:\\Automation\\Projects\\MyProject_v2");
Preventive Measures
-
Pin the default storage location to a local, non-synced, non-reparsed path. Siemens recommends
D:\Programs\Siemens\Automation\Projectsin the TIA Portal Installation Manual. - Use a dedicated engineering account with consistent UAC behaviour; do not switch between standard and elevated contexts in the same day.
-
Block shell extensions in the engineering image by Group Policy:
Computer Configuration > Administrative Templates > Windows Components > File Explorer > Configure Windows Defender SmartScreen shell extensionand similar keys for OneDrive, Dropbox, and Google Drive. -
Exclude TIA install and project folders from antivirus real-time scanning. The Siemens recommended exclusions are
%ProgramFiles%\Siemens\Automation\Portal V18,%ProgramData%\Siemens\Automation, and the project root drive letter. - Patch cadence: stay on the latest V18 cumulative update. Siemens' release notes state that several shell-bridge fixes shipped in V18 Update 4 and later, including the regression tracked against save-as with proxy objects in the Openness V18 stability changelog.
Troubleshooting Matrix
| Symptom | Likely Factor | First Action |
|---|---|---|
| Crash on Save As, Archive, and Browse | OneDrive default path | Move default path to D:\Automation
|
| Crash only on Save As with proxy object | Openness V18 save-as-new path regression | Install V18 Update 4 or newer |
| Crash after change of UAC context | COM activation mismatch | Run installer and IDE under the same account |
| Crash only when Dropbox / Google Drive installed | Shell extension conflict | Disable extension via Autoruns |
| Crash on terminal server / Citrix session | Shell extension not registered for user profile | Reset user profile, reinstall V18 |
| Crash with antivirus event 1116 in Application log | Real-time scan intercepting shell bridge | Add AV exclusion for TIA install path |
Event ID 1000, faulting module Siemens.Automation.Openness.dll
|
Broken Openness registration | Re-register Openness assemblies |
When to Open a Siemens Support Request
If the reinstall sequence above does not resolve the crash, gather the following artifacts and open a ticket through the Siemens Industry Online Support portal at support.industry.siemens.com:
- Event Viewer export (
.evtx) of the last 24 hours filtered on Source = Application Error. - Full content of
%LOCALAPPDATA%\Siemens\Automation\Portal V18\Logszipped. - Output of
msinfo32 /report C:\TIA_MSI.txt. - Output of
reg export "HKLM\SOFTWARE\Siemens\Automation" C:\TIA_Reg.txt /y. - Screen recording of the Save As operation that triggers the crash.
Reference the Siemens support entry ID for the V18 shell-bridge regression. If you are also scripting Save-As through the Openness API, reference the long-term stability V18 documentation so the engineer handling the ticket sees the same code paths you do.
Related Engineering Notes
- If you are running TIA Portal inside a virtual machine, disable 3D graphics acceleration on the VM and set View > Options > Default file viewer to External (Windows) to force the dialog off the WPF renderer.
- If you deploy TIA Portal via SCCM or Intune, deploy the installer as system but the daily launcher as the engineering user. The reverse pattern reproduces the COM activation mismatch on every reboot.
- If you require OneDrive backup of engineering projects, sync the local
D:\Automationfolder via a Move rather than letting OneDrive own the user profile path.
Why does TIA Portal V18 crash only on Save As, Archive, and Browse, but not on open or edit?
Those three operations all open a Windows common file dialog. The V18 shell bridge calls IFileDialog::SetOptions on a non-UI thread; the call fails when the OneDrive reparse driver, a third-party shell extension, or a mismatched COM registration intercepts it. Open, edit, and online monitoring do not need the common file dialog, so they continue to work.
Will moving the project path off OneDrive fix the crash on its own?
Often yes, if the OneDrive reparse driver is the only cause. However, on machines that also have a broken Siemens Openness COM registration, the path change alone is not enough; a full uninstall, registry cleanup, and reinstall run as Administrator is required. Treat the path change as Step 1 of a three-step resolution.
Does running TIA Portal as Administrator always solve the Save As crash?
It solves the case where the COM activation was created under a different account. It does not solve OneDrive reparse or third-party shell extension conflicts. Always pin the elevated context, set the local default path, and disable hostile shell extensions together.
What TIA Portal V18 update fixed the Save As regression?
Siemens V18 Update 4 and later contain the shell-bridge fixes referenced in the Openness V18 long-term stability notes for proxy-object save and save-as-new-revision operations. Update 3 still carries the regression.
Can I script Save As with the Openness API without triggering the crash?
Yes, once the COM bridge is healthy. The TiaPortalProcess attachment pattern, the Project.SaveAs call, and the supporting Siemens.Engineering assemblies must all be GAC-registered and readable by the current user. Verify with the PowerShell Assembly.LoadFrom command shown in Step 4 before scripting production workflows.