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.
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
Administratorsgroup 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\WindowsXPfolder 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
- Open Control Panel → Add or Remove Programs → Add/Remove Windows Components.
- Select Message Queuing and click Details.
- Enable Common (subcomponent) and Active Directory integration if the PC is domain-joined; otherwise Common alone is sufficient.
- Click OK, then Next. Insert the Windows XP SP2 CD when prompted.
- Reboot the PC.
- Verify by opening Computer Management → Services and Applications → Message Queuing. The
Message QueuingandMessage Queuing Triggersservices should be present and set to Automatic.
Step 2 — Apply Local Security Policy
- Open Control Panel → Administrative Tools → Local Security Policy.
- Expand Local Policies → User Rights Assignment.
- Add the WinCC operator user (or the
SIMATIC HMIgroup) to the following rights:Act as part of the operating systemLog on as a serviceLog on locally-
Increase quotas(for GDI handle limits)
- Confirm that the
Guestaccount is disabled in Local Policies → Security Options → Accounts: Guest account status. - Run
gpupdate /forcefrom a command prompt.
Step 3 — Install the XP Hotfix Bundle from the WinCC DVD
- Insert the WinCC V6.2 SP2 (or SP3) installation DVD.
- Browse to
D:\Hotfixes\WindowsXP(drive letter may vary). - Run each
.exehotfix in the folder, in numerical order, accepting the EULA. Typical contents:Filename (example) Purpose WindowsXP-KB885523-x86-ENU.exeGDI subsystem update WindowsXP-KB886677-x86-ENU.exeCOM marshalling fix WindowsXP-KB904412-x86-ENU.exeKernel-mode exception handler WindowsXP-KB908531-x86-ENU.exeMSMQ reliability fix - Reboot after every hotfix to ensure the kernel patches are applied.
Step 4 — Configure DCOM
- Open Component Services (
dcomcnfg.exe). - Expand Component Services → Computers → My Computer.
- Right-click My Computer, select Properties, then the Default Properties tab.
- Set:
- Enable Distributed COM on this computer = checked
- Default Authentication Level = Connect
- Default Impersonation Level = Identify
- 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
- Right-click My Computer → Properties → Advanced → Performance Settings → Data Execution Prevention.
- Select Turn on DEP for essential Windows programs and services only.
- Add the following executables to the exception list (click Add):
C:\Program Files\Siemens\WinCC\bin\CCExplorer.exeC:\Program Files\Siemens\WinCC\bin\WinCC.exeC:\Program Files\Siemens\WinCC\bin\DDECli.exeC:\Program Files\Siemens\WinCC\bin\PDLRT.exe
- 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:
- Repartition and re-image the PC with a slipstreamed Windows XP SP2 source.
- Run
sysprepto clear the SID if the image is cloned from another PC. - Install the XP hotfix bundle (Step 3) before installing any other software.
- Install Internet Explorer 6 SP1, then MSMQ (Step 1), then reboot.
- Run the WinCC V6.2 SP2 setup with the project disabled.
- 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.
- 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.
-
Service check. In
services.msc, confirmCCAlgLogging,CCTlgServer,CCRDAServer,Message Queuing, andSQLSERVERAGENTare Started with Automatic startup. -
MSMQ check. Open
Computer Management → Message Queuing → Private Queues. TheSiemens_HMIqueue must be present after WinCC activation. -
Stress test. Trigger 500 picture changes in 60 minutes using a WinCC script with
SetPicturecalls. Pre-fix systems fail within 90 minutes on this test. -
Event log review. After 24 hours,
eventvwr.mscmust show zero Application Error entries and zero WinCC-issued access violation messages in the diagnostic window. -
Archive rotation. Force a tag-logging archive rotation at runtime and confirm the
.ldfand.mdffiles roll over without fault. - 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:
- Edit
C:\Program Files\Siemens\WinCC\bin\WinCC.ini. - Set
and[GfxRts] Trace=1TraceLevel=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:
- Open Control Panel → System → Advanced → Startup and Recovery → Settings.
- Set Write debugging information = Small memory dump (64 KB).
- 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:
- Image the source Windows 2000 PC with
Symantec GhostorClonezillaas a recovery baseline. - Build the new XP SP2 PC on a verified slipstreamed image. Do not upgrade in place — perform a clean install.
- Apply the XP hotfix bundle from the WinCC DVD before any other software is installed.
- Install MSMQ, then Internet Explorer 6 SP1, then reboot.
- Install MSDE 2000 SP3a from the WinCC DVD, then reboot.
- 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.
- Configure DCOM (Step 4) and DEP (Step 5) explicitly.
- 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.