Resolving WinCC V6.2 Access Violation Errors on Windows XP SP2

David Krause12 min read
SiemensTroubleshootingWinCC
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

1. Problem Description

A WinCC V6.2 SP2 Hotfix 3 (HF3) runtime station that operated without fault on Windows 2000 Professional SP4 begins to crash unpredictably after the host operating system is replaced with Windows XP Professional SP2. The reported symptom is an access violation recorded in the WinCC diagnostic window followed by a complete runtime freeze, leaving the operator with no recourse other than a hard power-cycle of the industrial PC. The fault is non-deterministic — it may occur during picture change, alarm acknowledgment, archive rotation, project activation, or after several hours of idle runtime. The same project files, the same license dongle, and the same authorization assignments are carried across the migration, isolating the cause to the new operating-system environment rather than the application data.

This document consolidates the remediation steps that resolve the access violation, starting with the Windows components that WinCC V6.2 requires explicitly on XP SP2, and finishing with verification and preventive hardening. It applies to the SIMATIC WinCC V6.2 product line, including the SP2 and SP3 service packs, with Hotfix 3 and earlier.

Important: WinCC V6.2 reached end of life under standard Siemens support. The remediation steps below are documented for plants that continue to operate this generation of runtime. New projects should be evaluated against current SIMATIC WinCC versions, where Windows XP is no longer a supported host platform.

2. Affected Configurations

Component Supported Value Notes
WinCC version V6.2 SP2, V6.2 SP2 HF3, V6.2 SP3 Behavior is identical between SP2 HF3 and SP3 per field reports
Source OS Windows 2000 Professional SP4 Operated correctly before migration
Target OS Windows XP Professional SP2 Triggers the access violation
SQL backend MSDE 2000 / SQL Server 2000 SP3a Embedded with WinCC V6.2
Licensing Soft-License, USB Hardlock, License Server All three licensing models are affected identically
Project type Single-user and client on multi-user server Both topologies exhibit the fault

3. Symptom Matrix

Symptom Frequency Likely Root Cause
"Access violation (0xC0000005)" in WinCC diagnostic window At every activation or under load Missing MSMQ or DCOM launch permission
Runtime freezes, monitor stops updating, mouse still moves Random, after 2–8 hours GDI handle exhaustion or DCOM deadlock
Process CCExplorer.exe must be killed manually After access violation Recovery channel corrupted
Event ID 1000 application error, faulting module kernel32.dll or ntdll.dll Logged on every crash Unhandled exception in WinCC subsystem
Activation returns "Internal error 0xbb9 in module mqmgr.ocx" One-shot on activation Message Queuing service not installed

4. Root Cause Analysis

The access violation class reported by WinCC V6.2 on Windows XP SP2 is, in nearly every documented field case, one of four underlying defects. Each defect has a distinct signature in the diagnostic viewer and the Windows event log.

4.1 Missing Microsoft Message Queuing (MSMQ)

WinCC V6.2 uses MSMQ for internal message dispatch between the Graphics Runtime, the Alarm Logging service, the Tag Logging service, and the User Administrator. Windows 2000 Pro SP4 ships with MSMQ as an optional component; many installations enabled it during the initial setup of WinCC. Windows XP SP2 does not install MSMQ by default, and the WinCC V6.2 installation routine does not silently add it. Without MSMQ, the runtime starts in a degraded mode and the first high-volume alarm or archive event triggers an access violation inside mqmgr.ocx or mqqm.dll.

4.2 Incomplete Local Security Policy

Windows XP SP2 tightened the default DCOM and authentication policies compared with Windows 2000. Several DCOM launch and access permissions that were implicitly granted to the interactive user on Windows 2000 must be re-granted explicitly on XP SP2. When they are absent, the WinCC COM servers fail to register their class factory and the runtime throws an access violation the first time it requests a cross-process handle.

4.3 Missing Windows XP Hotfixes

Microsoft released a sequence of Windows XP hotfixes between SP2 and SP3 that address GDI user-object limits, COM marshalling bugs, and kernel-mode issues that interact with industrial software. WinCC V6.2 SP2 HF3 includes a folder of XP-specific hotfixes on the installation DVD that must be installed manually after the OS install. Skipping this folder is the most common cause of the access violation on a freshly built XP SP2 workstation.

4.4 User Account Hardening

Windows XP SP2 introduces the Limited User Account model and the "Deny logon locally" right for the Guest account. Running WinCC under an account that lacks the SeBatchLogonRight, SeInteractiveLogonRight, and DCOM launch privileges reproduces the same access violation as the missing MSMQ case. The Windows 2000-style Administrator-only model is not enough; explicit Act as part of the operating system and Log on as a service rights must be assigned.

5. Prerequisites

Before any remediation step, confirm the host PC meets the WinCC V6.2 prerequisites for Windows XP SP2:

  • Windows XP Professional SP2, English or German MUI, 32-bit (x64 is not supported by V6.2).
  • Internet Explorer 6.0 SP1 or higher installed before WinCC setup.
  • MSDE 2000 SP3a or SQL Server 2000 SP3a — installed by the WinCC setup.
  • Local Administrators group membership for the installing user.
  • A clean, slipstreamed XP SP2 image (no OEM toolbars, no pre-installed antivirus that hooks Win32 APIs).
  • The WinCC V6.2 SP2 or SP3 installation DVD with the Hotfixes\WindowsXP folder accessible.

6. Step-by-Step Remediation

Execute the steps in the order shown. Each step is independently testable — do not skip ahead.

Step 1 — Install Microsoft Message Queuing

  1. Open Control Panel → Add or Remove Programs → Add/Remove Windows Components.
  2. Select Message Queuing and click Details.
  3. Enable Common (subcomponent) and Active Directory integration if the PC is domain-joined; otherwise Common alone is sufficient.
  4. Click OK, then Next. Insert the Windows XP SP2 CD when prompted.
  5. Reboot the PC.
  6. Verify by opening Computer Management → Services and Applications → Message Queuing. The Message Queuing and Message Queuing Triggers services should be present and set to Automatic.

Step 2 — Apply Local Security Policy

  1. Open Control Panel → Administrative Tools → Local Security Policy.
  2. Expand Local Policies → User Rights Assignment.
  3. Add the WinCC operator user (or the SIMATIC HMI group) to the following rights:
    • Act as part of the operating system
    • Log on as a service
    • Log on locally
    • Increase quotas (for GDI handle limits)
  4. Confirm that the Guest account is disabled in Local Policies → Security Options → Accounts: Guest account status.
  5. Run gpupdate /force from a command prompt.

Step 3 — Install the XP Hotfix Bundle from the WinCC DVD

  1. Insert the WinCC V6.2 SP2 (or SP3) installation DVD.
  2. Browse to D:\Hotfixes\WindowsXP (drive letter may vary).
  3. Run each .exe hotfix in the folder, in numerical order, accepting the EULA. Typical contents:
    Filename (example) Purpose
    WindowsXP-KB885523-x86-ENU.exe GDI subsystem update
    WindowsXP-KB886677-x86-ENU.exe COM marshalling fix
    WindowsXP-KB904412-x86-ENU.exe Kernel-mode exception handler
    WindowsXP-KB908531-x86-ENU.exe MSMQ reliability fix
  4. Reboot after every hotfix to ensure the kernel patches are applied.
Field note: The hotfix bundle is not installed by the WinCC setup. A fresh Windows XP image without this folder produces the same access violation as a clean Win2000-to-XP migration. This is the single highest-probability cause of the fault.

Step 4 — Configure DCOM

  1. Open Component Services (dcomcnfg.exe).
  2. Expand Component Services → Computers → My Computer.
  3. Right-click My Computer, select Properties, then the Default Properties tab.
  4. Set:
    • Enable Distributed COM on this computer = checked
    • Default Authentication Level = Connect
    • Default Impersonation Level = Identify
  5. Switch to the COM Security tab and verify that the WinCC user account appears in both the Access Permissions and Launch and Activation Permissions lists with Allow for all four checkboxes.

Step 5 — Disable Data Execution Prevention (DEP) for WinCC

  1. Right-click My Computer → Properties → Advanced → Performance Settings → Data Execution Prevention.
  2. Select Turn on DEP for essential Windows programs and services only.
  3. Add the following executables to the exception list (click Add):
    • C:\Program Files\Siemens\WinCC\bin\CCExplorer.exe
    • C:\Program Files\Siemens\WinCC\bin\WinCC.exe
    • C:\Program Files\Siemens\WinCC\bin\DDECli.exe
    • C:\Program Files\Siemens\WinCC\bin\PDLRT.exe
  4. Reboot.

Step 6 — Reinstall WinCC V6.2 Cleanly

If the access violation persists after Steps 1–5, perform a clean reinstall. An interrupted or partial first install is the second most common cause of the symptom. Recommended order:

  1. Repartition and re-image the PC with a slipstreamed Windows XP SP2 source.
  2. Run sysprep to clear the SID if the image is cloned from another PC.
  3. Install the XP hotfix bundle (Step 3) before installing any other software.
  4. Install Internet Explorer 6 SP1, then MSMQ (Step 1), then reboot.
  5. Run the WinCC V6.2 SP2 setup with the project disabled.
  6. Apply Hotfix 3 (or move directly to SP3) — the field reports confirm the behavior is identical between SP2 HF3 and SP3, so the choice is operational rather than corrective.
  7. Activate the project and run the runtime for 24 hours without operator input to validate stability.

7. Verification Procedure

Validate the remediation in the following order. Do not declare the fault closed until every step passes.

  1. Service check. In services.msc, confirm CCAlgLogging, CCTlgServer, CCRDAServer, Message Queuing, and SQLSERVERAGENT are Started with Automatic startup.
  2. MSMQ check. Open Computer Management → Message Queuing → Private Queues. The Siemens_HMI queue must be present after WinCC activation.
  3. Stress test. Trigger 500 picture changes in 60 minutes using a WinCC script with SetPicture calls. Pre-fix systems fail within 90 minutes on this test.
  4. Event log review. After 24 hours, eventvwr.msc must show zero Application Error entries and zero WinCC-issued access violation messages in the diagnostic window.
  5. Archive rotation. Force a tag-logging archive rotation at runtime and confirm the .ldf and .mdf files roll over without fault.
  6. Cold reboot cycle. Reboot the PC 3 times consecutively. WinCC must start in fully graphical mode (no degraded mode banner).

8. Diagnostic Logging and Event Tracing

If the access violation reappears after the remediation, enable the WinCC internal trace before the next fault:

  1. Edit C:\Program Files\Siemens\WinCC\bin\WinCC.ini.
  2. Set
    [GfxRts]
    
    Trace=1
    and TraceLevel=3.
  3. Restart the runtime. The trace is written to C:\Program Files\Siemens\WinCC\diagnose\WinCC_Sys_timestamp.log.

Pair this with a kernel-level dump:

  1. Open Control Panel → System → Advanced → Startup and Recovery → Settings.
  2. Set Write debugging information = Small memory dump (64 KB).
  3. Configure System Properties → Advanced → Error Reporting to Do not send for the WinCC binaries to keep the dump on disk.

Send the resulting CCExplorer_AccessViolation_date.mdmp and the WinCC syslog to Siemens Industry Online Support with the project hash for the support team to correlate against the WinCC V6.2 defect list.

9. Related Defects and Workarounds

Defect / Behavior Workaround
Access violation on PDLRT.exe after 7+ days uptime Schedule a weekly WinCC restart via the Windows Task Scheduler
Alarm acknowledgment freezes the runtime Reduce alarm burst rate; enable AlarmLogging Quitting behavior = Acknowledge
Tag logging fails to close archive segments Disable Index server in SQL Server Enterprise Manager for the WinCC database
USB Hardlock not recognized after XP SP2 install Reinstall SafeNet Sentinel System Driver from the WinCC DVD \Drivers\Hardlock
Internal error 0x80004005 on remote server access Re-apply Step 4 DCOM permissions on the server, not just the client

10. Migration Best Practices (Windows 2000 → XP SP2)

Plants that still need to operate WinCC V6.2 should follow this sequence to avoid the access violation entirely:

  1. Image the source Windows 2000 PC with Symantec Ghost or Clonezilla as a recovery baseline.
  2. Build the new XP SP2 PC on a verified slipstreamed image. Do not upgrade in place — perform a clean install.
  3. Apply the XP hotfix bundle from the WinCC DVD before any other software is installed.
  4. Install MSMQ, then Internet Explorer 6 SP1, then reboot.
  5. Install MSDE 2000 SP3a from the WinCC DVD, then reboot.
  6. Install WinCC V6.2 SP2 / HF3 (or SP3). Do not restore the project from the Windows 2000 PC — re-transfer the project via the WinCC Project Duplicator to refresh the registry keys.
  7. Configure DCOM (Step 4) and DEP (Step 5) explicitly.
  8. Run the verification procedure (Section 7) before connecting the new PC to plant equipment.

11. Preventive Hardening

Once the runtime is stable, lock the configuration to prevent regressions:

  • Disable Windows Automatic Updates on the runtime PC. Patches must be qualified against WinCC V6.2 before deployment.
  • Disable the Windows XP Themes service, or set it to Manual, to prevent GDI handle churn on picture change.
  • Set the screen saver to None. The Windows XP screen saver has been observed to consume WinCC GDI handles and re-trigger the access violation.
  • Set the page file to a fixed size of 2 × RAM + 100 MB, with the file located on the system drive, not the data drive.
  • Disable System Restore on the runtime drive to keep the disk I/O profile deterministic for tag logging.

12. Long-Term Recommendation

WinCC V6.2 was qualified for Windows XP SP2 only and reached end of standard support. Plants that need to remain on Windows should plan a migration to a current SIMATIC WinCC version on a supported Windows IoT or Windows Server platform. The access-violation class documented here is one symptom of an aging software base; replacing it eliminates the dependency on MSMQ, on the XP hotfix bundle, and on the DCOM permission model that is itself deprecated in current Windows releases. Reach out to the Siemens regional sales office or check the SIMATIC HMI product page for the current generation of supported runtime hosts.

Does upgrading from WinCC V6.2 SP2 HF3 to SP3 fix the access violation on Windows XP SP2?

No. Field reports confirm that the access-violation behavior is identical between SP2 HF3 and SP3 on Windows XP SP2 because the root cause is the operating-system environment, not the WinCC service pack. Apply the remediation steps in Section 6 instead of upgrading the service pack.

Can I install WinCC V6.2 on Windows XP SP3 to avoid the access violation?

WinCC V6.2 is not officially qualified for Windows XP SP3. The expected behavior on SP3 is better, but unsupported — Siemens did not test or sign the combination. The qualified host remains Windows XP Professional SP2, with the hotfix bundle from the WinCC installation DVD applied.

Is the access violation caused by another Siemens software installed on the same PC?

Yes, this is a known contributor. STEP 7, WinCC flexible, SIMATIC NET, and the License Server all install COM components that compete for DCOM launch permissions and MSMQ queue ownership. Install WinCC V6.2 on a dedicated runtime PC, or use dcomcnfg to give each Siemens product a unique Application ID partition.

What is the minimum hotfix I must install on a clean Windows XP SP2 to run WinCC V6.2?

At minimum, install every hotfix in the Hotfixes\WindowsXP folder of the WinCC V6.2 installation DVD. The four most common are the GDI subsystem update, the COM marshalling fix, the kernel-mode exception handler, and the MSMQ reliability fix. Skipping any of them reproduces the access violation.

How do I confirm MSMQ is the actual cause of the access violation?

Check the WinCC diagnostic window for the line Internal error 0xbb9 in module mqmgr.ocx. If present, MSMQ is the failure point. You can also open Computer Management → Message Queuing → Private Queues; the absence of the Siemens_HMI queue after WinCC activation confirms MSMQ is not initialized. Reinstall the Message Queuing Windows component (Section 6, Step 1) to resolve.

Back to blog