Problem Overview
Engineers migrating or maintaining S7-300/S7-400 stations frequently need to install Siemens STEP 7 V5.x (the classic SIMATIC Manager environment) on a Windows 8 or 8.1 host. The installer usually completes without errors, and the SIMATIC Manager shell launches normally. The failure surfaces the moment the user attempts to insert any project object — an S7 program, an OB, an FB, an HW Config station, a symbol table, a source file, or a System Data container — into the S7 project tree. The host process (S7WEBSVX.EXE or SIMATIC.exe, depending on version) terminates with an unhandled exception, and Windows presents a generic "SIMATIC Manager has stopped working" dialog before the window closes.
This symptom is reproducible across multiple, otherwise healthy workstations and is not tied to a single project, controller family, or library version. The failure is environmental: a combination of WIN32/NT 6.2/6.3 process-isolation rules, ANSI/OEM codepage handling, and legacy ActiveX/MFC libraries that STEP 7 V5.5 SP4 and earlier rely on but never expected to see under Windows 8.
Affected Software Versions
| Product | Version | Status on Windows 8/8.1 |
|---|---|---|
| STEP 7 V5.5 | Base, no SP | Install OK, crash on insert |
| STEP 7 V5.5 + SP1 | 5.5.1.0 | Install OK, crash on insert |
| STEP 7 V5.5 + SP2 | 5.5.2.0 | Install OK, crash on insert |
| STEP 7 V5.5 + SP3 | 5.5.3.0 | Install OK, intermittent crash |
| STEP 7 V5.5 + SP4 | 5.5.4.0 | Improved; insert OK with patches |
| STEP 7 V5.6 + SP1 | 5.6.1.x | Officially supports Windows 8.1 (64-bit) |
| TIA Portal V13 | 13.0.0.0 | Native Windows 8.1 support |
Root Cause Analysis
The crash is rarely caused by user error or corrupted project data. The most common underlying mechanisms are listed below in descending order of frequency observed on Windows 8/8.1 workstations.
1. Missing Application Compatibility Layer (DEP/NX)
STEP 7 V5.5 was built against an older Platform SDK and marks several binaries as NX-incompatible internally. Windows 8 enables DEP (Data Execution Prevention) for all processes by default, including legacy Win32 applications. When the SIMATIC Manager calls into the OLE/COM object S7W32AX.OCX during object insertion, the NX-bit check fails and the process is terminated silently by the kernel with STATUS_ACCESS_VIOLATION (0xC0000005) or STATUS_INVALID_IMAGE_FORMAT (0xC000007B). The exception is reflected up to the user as an Application Error in the Windows Event Log:
Log Name: Application
Source: Application Error
Event ID: 1000
Faulting Application Name: S7WEBSVX.EXE
Faulting Module Name: S7W32AX.OCX
Exception Code: c0000005
Fault Offset: 000xxxxx
2. ANSI/OEM Codepage Mismatch (Spanish Locale)
Windows 8 changed the default ANSI code page for non-Unicode programs to match the system locale. STEP 7 V5.5 expects a Western European (1252) ANSI page but the SIMATIC shell-side Project Wizard and several insert-handler dialogs call MultiByteToWideChar with explicit OEM codepage 850 or 437 flags. On a host with the system locale set to a non-default language (including es-ES, es-MX, and other Spanish variants), the buffer allocation overshoots and the heap manager frees the parent window's user-data, taking the process down on the next WM_PAINT.
3. UAC Virtualization Conflict on Program Files (x86)
The legacy install defaults write per-user cache files into %ProgramFiles(x86)%\Siemens\Automation\SIMATIC Manager\S7Proj. With UAC virtualisation enabled (the Windows 8 default for unelevated user accounts), writes are redirected to %LOCALAPPDATA%\VirtualStore\.... When the SIMATIC Manager subsequently reads from the canonical path, it cannot find the freshly-cached S7PRJOBJ.DLL, throws a C++ exception, and exits.
4. Missing Side-by-Side CRT and MFC Runtimes
STEP 7 V5.5 ships its own VC++ 2005 SP1 redistributable; however, several hotfixes and Service Packs replace only the EXE binaries and not the side-by-side assemblies. Windows 8.1 is delivered with VC++ 2012/2013 runtimes but does not include the legacy 2005/2008 side-by-side folders that simatic.exe.manifest references. Symptom: the SIMATIC Manager starts, the project tree loads, but any insertion handler that uses MFC 8.0 (CFileDialog, CPropertySheet) crashes on _except_handler4_common.
5. DPI Scaling and Tablet Input Pipeline
When a 64-bit Windows 8.1 host runs in "Let me choose one scaling level for all my displays" mode (the default after install), the new per-monitor DPI awareness shim reroutes SetWindowExt and SetViewportExt calls. Object-insert dialogs that performed hard-coded screen-pixel math fail to compute the correct child-window rect and trigger an assertion in MFCO42D.DLL during modal show.
Diagnostic Procedure
Before applying fixes, capture a confirmed event-log signature:
- Reproduce the crash by right-clicking S7 Program → Insert New Object → Organization Block (OB).
- Open Event Viewer → Windows Logs → Application and sort by most recent.
- Confirm the presence of Event ID 1000 with faulting module
S7W32AX.OCX,ACCOBLIB.DLL, orS7PRJOBJ.DLL. - Open Control Panel → Programs and Features and note the installed Service Pack level of STEP 7.
- Open Control Panel → Region → Administrative → Language for non-Unicode programs and record the current system locale.
- Open Control Panel → Compatibility Center and verify whether a per-binary shim has been persisted.
- Capture
%LOCALAPPDATA%\VirtualStore\Program Files (x86)\Siemens\Automationto confirm UAC write redirection.
If Events 1000 and 1026 (SideBySide) appear together, the missing-runtime cause (#4) is dominant. If only Event 1005 ("Windows cannot access the file") appears, the UAC virtualisation cause (#3) is dominant. If Event 1000 references MFC42.DLL at offset 0x0001xxxx, the MFC/CRT case is active.
Solution 1 — Apply STEP 7 V5.5 SP4 or Upgrade to V5.6
The supported remediation is to bring the installation to the highest Service Pack available for the installed branch.
- Download STEP 7 V5.5 SP4 (HF7 or higher recommended) from the official Siemens SIOS portal.
- Stop all SIMATIC services:
net stop "s7oiehsx",net stop "simaticRtmService",net stop "s7ebapi". - Run the SP4 setup as an elevated administrator.
- Reboot and validate by inserting the same OB1 that previously crashed.
If the project requires compatibility with S7-300/S7-400 only and the customer has a maintenance contract, upgrade to STEP 7 V5.6 SP1, which provides a fully Windows 8.1-aware installation path.
Solution 2 — Per-Process Compatibility Shim
For users who cannot apply a Service Pack due to locked baselines, mark the SIMATIC Manager and the S7 web server with a Windows 7 compatibility flag:
- Right-click
S7WEBSVX.EXEin%ProgramFiles(x86)%\Siemens\Automation\SIMATIC Manager\S7BIN. - Select Properties → Compatibility.
- Enable Run this program in compatibility mode for Windows 7.
- Enable Run this program as an administrator.
- Check Disable display scaling on high DPI settings.
- Click Apply and confirm with a Save Project/Close Project cycle.
Apply the same flags to S7WTOPOL.EXE, S7AREXCX.EXE, NCMDIAG.EXE, and S7PROTFX.EXE to cover hardware-config, NetPro, and diagnostic scenarios.
Solution 3 — Disable DEP for the SIMATIC Binaries
Use the NT-level DisableNX mechanism for the legacy OCX:
- Open an elevated command prompt.
- Execute
bcdedit /set {current} nx AlwaysOffonly as a transient measure; reboot is mandatory. - Alternative, surgical workaround: append
/NODEPtoS7WEBSVX.EXEvia the registry. CreateHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\<full path to S7WEBSVX.EXE>with valueWIN7RTM NoExecute. - Reboot and validate.
nx AlwaysOff disables hardware DEP for all processes on the workstation. Use the per-application AppCompatFlags\Layers registry key instead. Never disable DEP system-wide on a controller or HMI server.Solution 4 — Force the ANSI Codepage
- Open Control Panel → Region → Administrative tab.
- Click Change system locale... and select English (United States) — this sets the non-Unicode codepage to 437/1252.
- Reboot the workstation.
- Re-launch the SIMATIC Manager and re-create the empty object that previously crashed.
- After verification, the locale can be reverted through the same path if needed; the cached fonts and dialog templates persist.
Solution 5 — Eliminate UAC Virtualisation
- Open Local Security Policy → Local Policies → Security Options.
- Locate User Account Control: Virtualize file and registry write failures to per-user locations and set it to Disabled.
- Log out and back in (or reboot for domain-joined workstations).
- Re-launch the SIMATIC Manager elevated (right-click → Run as administrator). Create a new project and verify that
S7PROJdirectories are written directly to%ProgramFiles(x86)%\Siemens\Automation\....
Solution 6 — Repair the Side-by-Side MFC/CRT Stack
- Download and install the Microsoft Visual C++ 2005 SP1, 2008 SP1, 2010 SP1, and 2012 Update 4 redistributables (both x86 and x64).
- Open an elevated command prompt and run
sfc /scannowto rebuild the side-by-side store cache. - Delete cached manifests:
del /q "%WINDIR%\WinSxS\ManifestCache\*.bin"(do not delete the .manifest files themselves). - Re-launch the SIMATIC Manager.
Solution 7 — High-DPI Override
- Right-click the SIMATIC Manager shortcut, choose Properties → Compatibility → Settings.
- Check Override high DPI scaling behavior. Scaling performed by: System (Enhanced).
- Alternatively add the following per-user registry entry and reboot:
HKCU\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\[full path to S7WEBSVX.EXE] = ~ HIGHDPIAWARE
Verification Matrix
| Test | Procedure | Expected Result |
|---|---|---|
| Insert OB1 | Right-click S7 Program → Insert New Object → Organization Block (OB1) | OB1 opens in LAD/FBD/ST editor without exception |
| Insert FB | Insert Function Block with instance DB | FB and DB1 created; symbols exportable |
| Open HW Config | Double-click SIMATIC 300 Station → Hardware | HW Config loads catalogue at 300.xLS (no missing-DLL dialog) |
| NetPro edit | Open NetPro, add a PROFIBUS subnet | Save succeeds without S7RTM crash |
| Compile/Consistency Check | Right-click S7 Program → Compile and Check Consistency | 0 errors, 0 warnings for an empty project |
| Event log clean | Event Viewer → Application | No new Event 1000/1026 entries during the test sequence |
Alternative Approaches
A — Virtual Machine Workstation
Where the operator's fleet enforces Windows 8/8.1 as the engineering host OS, deploy STEP 7 V5.5 SP4 inside a VMware Workstation, Hyper-V Gen-1, or VirtualBox guest running Windows 7 SP1 (32-bit recommended for maximum compatibility). Provide the guest a bridged NIC for PROFINET/PROFIBUS via the host-side SIMATIC PC USB Adapter or CP 5611 redirect. The guest has full OS-level isolation from the host's UAC and DPI pipeline, eliminating the crash with zero registry hacks.
B — Migrate S7-300/S7-400 Projects to TIA Portal
TIA Portal V13 / V14 / V15 / V16 / V17 natively supports Windows 8.1 (64-bit) onward and uses a different object-insertion code path. Use TIA Portal → Project → Migrate S7 project to lift the legacy .S7P file into a V14 SP1 or later environment. Note that ProTool, WinCC flexible 2008, and STEP 7 V5.x-only custom libraries need manual porting; verify the migrated station with the GRAPH, SCL, and CFC packages installed.
C — Remote Engineering Terminal
If the customer's automation fleet includes an existing Windows 7 engineering laptop, keep STEP 7 V5.x on that hardware and use Windows 8.1 only for office tasks. RDP or remote-tunnel access from Windows 8.1 to the engineering VM is sufficient for daily project edits.
Field-Proven Caveats
- The Disable DEP per-process workaround does not survive a major Windows 8.1 cumulative update; re-apply after each monthly rollup when Event 1000 returns.
- Setting the system locale to English (United States) permanently changes default font rendering in third-party apps such as Adobe Acrobat and SAP GUI. Document the change in the engineering workstation change log.
- Some VirtualStore leftovers from before Solution 5 must be cleared manually — inspect
%LOCALAPPDATA%\VirtualStoreand merge legitimate project files back into%ProgramFiles(x86)%\Siemens\...before enabling UAC virtualisation disable. - Hotfix KB3033929 (March 2016) re-introduces a stricter Manifest enforcement in
wusa.exethat can re-open previously closed SxS holes. Reinstall VC++ 2005 SP1 after this KB is applied. - Do not install STEP 7 onto a Windows 8 host where AppLocker blocks
%TEMP%\~*.tmpexecutable creation — the SIMATIC Manager writes short-lived shims during update procedures. - Anti-virus products with real-time script scanning (McAfee, Trend Micro OfficeScan) frequently quarantine
S7OTBLCK.DLLafter the SP4 installer writes it. Whitelist%ProgramFiles(x86)%\Siemens\Automation\before SP4 setup.
Quick Decision Matrix
| If the workstation... | Then apply... |
|---|---|
| Cannot install new Service Packs (locked image) | Solution 2 + 3 (compatibility shim + per-process DEP) |
| Runs a non-English system locale | Solution 4 (codepage fix) |
| Is bound by strict Group Policy | Solution 7 (DPI) + 3 (AppCompatFlags registry) |
| Has a full maintenance contract and zero project freezes | Solution 1 (upgrade to V5.6 SP1 or TIA V16/V17) |
| Has a SIMATIC PC USB Adapter requiring driver 6.0+ | Alternative A (VM with Win 7 SP1 32-bit) |
References to Official Documentation
- Siemens SIOS entry "Compatibility of STEP 7 V5.x and TIA Portal with Windows operating systems"
- Siemens entry "STEP 7 V5.6 SP1 release notes"
- Siemens Knowledge Base "Installation notes for STEP 7 V5.5 SP4"
- Siemens entry "Avoiding exceptions when inserting objects in SIMATIC Manager"
- Microsoft "Data Execution Prevention"
- Microsoft "Side-by-Side Assemblies (SxS)"
- Microsoft "High DPI scaling in Windows"
FAQ
Why does STEP 7 V5.5 install but instantly crash on Windows 8?
Windows 8 ships with stricter Data Execution Prevention, side-by-side manifest enforcement, and DPI awareness that legacy Siemens binaries were never linked against. The SIMATIC Manager starts but any object-insert dialog triggers an unhandled exception in MFC42 or S7W32AX.OCX, terminating the process.
Which STEP 7 version officially supports Windows 8.1?
According to the Siemens compatibility matrix, only STEP 7 V5.6 SP1 and the TIA Portal family from V13 onward formally support Windows 8.1. Earlier V5.5 releases require either a SP4 upgrade, a compatibility shim, or a Windows 7 virtual machine.
Can I disable DEP just for the SIMATIC Manager?
Yes. Add the full path of S7WEBSVX.EXE as a value name under HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers with the data WIN7RTM NoExecute. Do not use bcdedit /set nx AlwaysOff, as that disables hardware DEP system-wide.
Does changing the non-Unicode system locale fix the crash?
On Spanish-language hosts, switching the non-Unicode system locale to English (United States) forces codepage 1252 and eliminates the buffer-overrun path through MultiByteToWideChar. The change is reversible after verification.
Is it safer to run STEP 7 inside a Windows 7 VM?
Yes, especially for production fleets. A Windows 7 SP1 32-bit virtual machine on VMware Workstation or Hyper-V provides a known-stable environment for legacy V5.5 binaries, retains full PROFINET/PROFIBUS access via USB passthrough, and removes the need for registry tweaks on the physical host.
Will anti-virus software re-trigger the crash after the fix?
Quarantine rules for %ProgramFiles(x86)%\Siemens\Automation\ are the most common reason the crash returns after a working remediation. Whitelist this directory in your AV product and rerun Compile and Check Consistency after any AV update.