Problem Summary
The WinCC Configuration Tool (sometimes called the WinCC Smart Tool) is an Excel-based add-in that lets engineers generate, browse, and manipulate WinCC project folders, tag exports, and CS structure from a spreadsheet. On WinCC V6.2 SP2 with Microsoft Excel 2003, and on WinCC V7.0 with Excel 2007, engineers routinely observe a double fault when invoking WinCC → Create Project Folder → Establish Connection to Existing Project (or Create New Project):
- Microsoft Visual Basic — Compile Error in hidden module: CReadProgressDlg (clicked OK once, then a second identical dialog appears)
- Run-time error '440': Automation error
The two errors fire in sequence because the first dialog interrupts VBA compilation, and the second is the residual failure of the unfinished call into the WinCC COM add-in. The operation never completes; the project is not bound to Excel and no .xls worksheet template is populated. The defect is not in the user's project — it is in the interaction between the WinCC configuration XLA/XLAM and a specific Windows Update that the development environment never expected to see.
Affected Configurations
The failure has been reproduced on the following combinations. Versions outside this matrix have not been reported in incident data, so treat any other pairing as unverified rather than unaffected.
| WinCC Version | Office Version | Windows | Status |
|---|---|---|---|
| WinCC V6.0 SP3 | Excel 2003 (11.x) | Windows XP SP3 | Affected after KB 960715 |
| WinCC V6.2 SP2 | Excel 2003 (11.x) | Windows XP SP3 | Affected after KB 960715 |
| WinCC V6.2 SP2 | Excel 2007 (12.x) | Windows XP SP3 | Not officially supported — errors expected |
| WinCC V7.0 | Excel 2003 (11.x) | Windows XP SP3 | Affected after KB 960715 |
| WinCC V7.0 | Excel 2007 (12.x) | Windows XP SP3 / W7 | Affected after KB 960715 |
| WinCC V7.0 SP1 | Excel 2007 (12.x) | Windows XP SP3 / W7 | Fixed (Siemens re-shipped add-in) |
| WinCC V6.2 (any SP) | Excel 2010+ | any | Not supported — do not deploy |
Root Cause — Microsoft Update KB 960715
The trigger is a Microsoft Office security update distributed as KB 960715. The update tightens the VBA project's digital-signature enforcement and changes the way the Office host resolves references to compiled UserForm and class modules inside .xla add-ins. The WinCC Configuration Tool's compiled module CReadProgressDlg declares an explicit reference chain that, prior to the update, was resolved lazily. After the patch is installed, the Office VBA host refuses to silently bind the unsigned compiled module and surfaces the failure as a Compile Error in hidden module.
Key properties of the failure mode:
- The dialog is suppressed behind a hidden module warning because the project is locked and the host cannot display the source line that broke compilation.
- The immediate second error,
440 — Automation error, is the COM dispatcher returning E_FAIL on a call that depends on the failed binding (typically a call into theCReadProgressDlgprogress dialog object during folder enumeration). - The failure is deterministic on any workstation that has both KB 960715 and the original (pre-SP1) WinCC add-in installed. Re-imaging the workstation without removing the update reproduces the issue within minutes.
Siemens confirmed the linkage and documented it in the support entry referenced at the bottom of this article. WinCC V7.0 SP1 ships a re-compiled configuration tool whose CReadProgressDlg module is signed against the post-update binding model. WinCC V6.2 did not receive an equivalent service kit; the only published remediation for V6.2 is to remove the Microsoft update on the affected engineering workstation.
Error Code Reference
| Code / Message | Source | Meaning in this context |
|---|---|---|
| Compile Error in hidden module: CReadProgressDlg | Microsoft Visual Basic (VBA) | The Office VBA host could not resolve the compiled CReadProgressDlg class inside the WinCC add-in. The module is hidden because the project is locked / not signed to a model the patched host can verify. |
| Run-time error '440' | Microsoft Visual Basic (VBA) | Automation error — the COM call dispatched to the broken CReadProgressDlg object returned a generic failure (E_FAIL). Sequence: 1st Compile Error, 2nd Compile Error, 3rd 440. |
| Error loading DLL | WinCC OLE/COM layer | Adjacent symptom if the WinCC COM runtime is unregistered; appears during manual Customize re-enable. |
| Cannot find project or library | VBA References dialog | Side effect when the Office 2007 SP2 reference set drops a legacy type library — treat separately from KB 960715. |
Pre-Resolution Checklist
Before touching the registry or removing updates, capture a baseline so the change is reversible. Engineers should treat any modification to a WinCC engineering workstation as a controlled change.
-
Confirm the symptom matches. Open Excel, click Add-Ins → WinCC → Create Project Folder. If the error is not
CReadProgressDlg+ 440, the cause is different (see Alternative Error Paths below). -
Identify the exact Office and WinCC builds. In Excel: File → Help → About Microsoft Office Excel — capture the full version string (e.g.
12.0.6425.1000SP2 MSO). In WinCC: Start → Siemens Automation → SIMATIC → WinCC → About — capture version and service pack (e.g.WinCC V7.0.0.0 SP1). -
List installed Office updates. On Windows XP: Start → Control Panel → Add or Remove Programs, tick Show updates, and screenshot the Microsoft Office section. On Windows 7/10: Programs and Features → View installed updates. Look for any
Security Update for Microsoft Office ... (KB 960715)entry — usually labeled “Security Update for Microsoft Office 2003” or “... 2007” depending on the Office install. - List WinCC components. Confirm the WinCC Configuration Tool is installed: Control Panel → Add or Remove Programs → SIMATIC WinCC → Change → Modify. The configuration tool is an optional sub-feature; an uninstalled feature is a common false positive.
-
Export the registry branch. Open
regeditas administrator and export the following keys for rollback safety:HKEY_CURRENT_USER\Software\Microsoft\Office\<version>\Excel\Add-in ManagerHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\<version>\Excel\AddinsHKEY_LOCAL_MACHINE\SOFTWARE\Siemens\WinCC\Configuration - Close all Office applications and the WinCC Explorer before continuing. KB removal is blocked while an Office host has the add-in loaded.
Step-by-Step Resolution
The procedure below is the documented Siemens field remediation. It is destructive in the sense that the Microsoft update is removed; on most production engineering workstations the update is not load-bearing. Re-apply only after confirming the WinCC configuration tool works.
Step 1 — Remove Microsoft Update KB 960715
Windows XP / Office 2003 / Office 2007
- Close Excel, Outlook, and any other Office application.
- Open Start → Control Panel → Add or Remove Programs.
- Tick Show updates at the top of the dialog.
- Scroll the list of Microsoft Office 2003 / 2007 updates. Locate the entry whose title contains KB 960715 or whose description begins Security Update for Microsoft Office.
- Select it and click Remove. Confirm the uninstall prompt. If the system requests the original Office installation media, mount the original Office ISO/insert the media before continuing.
- Reboot when prompted. If the system does not prompt, force a reboot to clear the WPS (Windows Patch Services) cache.
Windows 7 / Office 2007+
- Close all Office applications.
- Open Control Panel → Programs and Features → View installed updates.
- Filter by Microsoft Office. Locate the update labeled Security Update for Microsoft Office 2007 (KB 960715).
- Right-click → Uninstall. Approve the UAC prompt.
- Reboot. Do not skip this step — the patch stores state in
%WINDIR%\System32\config\RegBackthat must be flushed before the next step.
Step 2 — Reinstall the WinCC Configuration Tool
The Configuration Tool is a per-WinCC-version component and must be reinstalled from the matching media. The uninstall in Step 1 leaves the tool in a broken state because the add-in cache is invalidated.
- Insert the WinCC installation media matching the installed version (V6.2 SP2 or V7.0). Mount the ISO if using electronic software delivery.
- Run
Setup.exefrom the media root. - Select the existing installation and choose Modify (not Repair — Repair does not re-register the configuration add-in).
- Expand WinCC Configuration → WinCC Configuration Tool and ensure the feature is set to Will be installed on local hard drive.
- Continue and complete the setup. The setup writes fresh COM registrations for the WinCC OLE/COM object under
HKCR\CLSID. - Reboot.
Step 3 — Re-Enable the Add-in in Excel
On Excel 2003 the add-in may need to be re-enabled manually after the reinstall.
- Start Excel.
- Open Tools → Add-Ins....
- Locate WinCC Configuration in the list. If the checkbox is clear, tick it and click OK. If it is missing entirely, click Browse and point at
%ProgramFiles%\Siemens\WinCC\bin\WinCC.xla(V6.2) or the equivalent path under V7. - On Excel 2007 use Office Button → Excel Options → Add-Ins → Manage: Excel Add-ins → Go... to reach the same dialog.
- Confirm the WinCC menu is visible on the ribbon / menu bar.
Verification
After the remediation, perform the following checks in order. If any check fails, do not continue — re-image the workstation or escalate.
- Compile check. In Excel press Alt+F11 to open the VBA IDE, select the WinCC project, and run Debug → Compile VBAProject. The compile must complete with no dialog.
- Create project folder — new project. Add-Ins → WinCC → Create Project Folder → New Project. Verify the dialog walks through the wizard to completion and writes a project folder.
-
Create project folder — existing project. Add-Ins → WinCC → Create Project Folder → Establish Connection to Existing Project. Browse to a known-good project. Verify no
CReadProgressDlgdialog and no440error. - Round-trip tag export. Export a small tag list from the WinCC project, re-import the same list, and confirm the checksum matches.
- Persistence check. Close Excel, re-open it, and re-run the same operation. The Configuration Tool must remember the last project path.
- WU scan. Run Windows Update → Check for updates and confirm KB 960715 is not offered as a missing update. If it is, the WSUS policy will re-install it; address the policy rather than the workstation.
Compatibility Matrix — WinCC and Excel
The matrix below is the conservative deployment rule. Deviations are unsupported and will eventually surface as Automation errors — sometimes not the same one as CReadProgressDlg.
| WinCC | Excel 2003 | Excel 2007 | Excel 2010 | Excel 2013+ |
|---|---|---|---|---|
| V6.0 SP3 | Supported | Not supported | Not supported | Not supported |
| V6.2 / V6.2 SP2 | Supported | Not supported | Not supported | Not supported |
| V7.0 (pre-SP1) | Supported | Not officially supported — affected by KB 960715 | Not supported | Not supported |
| V7.0 SP1 | Supported | Supported (re-shipped add-in) | Not supported | Not supported |
| V7.2+ | Limited | Supported | Supported | Limited — verify with vendor |
Alternative Workarounds
If the corporate environment does not permit removal of KB 960715, the following are documented second-line options. None are first-choice — they have operational side effects that engineering managers must sign off.
Workaround A — Disable VBA Signature Enforcement via Registry
Force the Office host to use the legacy binding model by setting the following DWORD value to 0:
HKEY_CURRENT_USER\Software\Microsoft\VBA\7.1\VBA\Security\VbaDisableLowSignedAddins = 0On 64-bit Office the path is ...\Wow6432Node\Microsoft\VBA\7.1\.... The change is per-user and reverts when the profile is recreated.
Workaround B — Mark the Add-in as Trusted Publisher
Re-publish the configuration XLA under a code-signing certificate. The WinCC media ships a self-signed Siemens certificate in %ProgramFiles%\Siemens\Automation\Certificates. Import the certificate into the Trusted Publishers store of the engineering user and re-open the add-in.
Workaround C — Block KB 960715 in WSUS
Create a WSUS rule denying the update KB 960715 for the engineering workstation OU. The update is a security patch for a class of VBA injection that does not affect the locked engineering workstation image. Block at the patch policy level, not on the workstation — a per-machine wushowhide is overwritten by the next policy refresh.
Workaround D — Virtualize the Engineering Workstation
Build a frozen WinCC 6.2 SP2 + Excel 2003 + (no KB 960715) image and run it inside a Hyper-V / VMware Workstation container. Block the host from passing the update to the guest via the VM's network segmentation. This is the preferred approach in regulated environments where KB 960715 must remain installed on the host.
Service Pack Considerations
WinCC V7.0 SP1 is the version that includes the re-compiled configuration add-in. SP1 does not remove KB 960715 — it co-exists with the patch. Engineering workstations upgrading from V7.0 to V7.0 SP1 while KB 960715 is still present do not need a KB removal step.
For WinCC V6.2 there is no equivalent service pack that ships a post-KB 960715 compatible add-in. The only vendor-supported remediation is KB removal (Step 1) followed by the configuration tool reinstall (Step 2). If the customer cannot accept KB removal and cannot upgrade to V7.0 SP1, use Workaround D (virtualization).
Customers considering a jump to V7.x should evaluate the migration cost of all CS exports, picture-tree references, and archive configurations. The Configuration Tool is a productivity tool, not a runtime component — the runtime of a V6.2 project on a V7.0 SP1 workstation is supported and the broken add-in is the only blocker.
Diagnostic Script — Detect the Broken State
Use the following VBScript to detect whether a workstation is in the broken state. Save as detect_wincc_kb960715.vbs and run with cscript.
Set excel = CreateObject("Excel.Application")
On Error Resume Next
excel.Workbooks.Add
For Each addin In excel.AddIns
If InStr(LCase(addin.Name), "wincc") > 0 Then
addin.Installed = True
addin.Application.Visible = True
WScript.Echo "Found WinCC add-in: " & addin.Name
End If
Next
If Err.Number <> 0 Then
WScript.Echo "FAILED: " & Err.Number & " - " & Err.Description
Else
WScript.Echo "Configuration Tool loaded cleanly."
End If
excel.Quit
A failed run (error 440) indicates the workstation is still in the broken state. The script does not require the WinCC runtime to be installed — it only probes the COM registration of the add-in.
Troubleshooting Matrix
| Symptom | Likely Cause | Remediation |
|---|---|---|
| Compile Error CReadProgressDlg + Runtime 440 | KB 960715 present, pre-SP1 add-in | Remove KB 960715, reinstall configuration tool |
| Menu “WinCC” is missing from Excel | Configuration Tool not installed or disabled in Add-Ins | Re-run WinCC setup, enable add-in in Excel → Add-Ins |
| “Error loading DLL” when enabling the add-in | WinCC OLE/COM not registered | From %ProgramFiles%\Siemens\WinCC\bin run regsvr32 /u then regsvr32 on each .dll that exports the add-in COM objects |
| Error appears only on Windows 7, not on XP | UAC strips HKCU registration of the add-in | Run Excel elevated once, dismiss UAC, close Excel, run unelevated — the HKCU entry is then stable |
| Error appears after Windows Update Tuesday | WSUS re-injected KB 960715 | Block KB 960715 in WSUS for the engineering OU; pause the patching agent on the workstation |
| Different error: “Cannot find project or library” | Office 2007 SP2 reference set dropped a legacy type library | Open VBA → Tools → References, untick MISSING: <library>; this is not the KB 960715 issue |
| Different error: “Subscript out of range” on WinCC V7.2 | Configuration Tool bitness mismatch with Excel 64-bit | Install the 32-bit (x86) version of Office 2010/2013 alongside the 64-bit WinCC |
Field-Proven Caveats
- Removing KB 960715 does not expose the workstation to a known unpatched CVE in the Office stack that the WinCC configuration tool would mitigate. The update targeted a VBA injection class that does not apply to a locked engineering image where the add-in is the only Office macro loaded.
- Customers who have legitimate user-written macros alongside the WinCC add-in must weigh KB removal against macro security. For those environments, Workaround C (block at WSUS) is preferable to per-workstation removal.
- Re-imaging is faster than chasing registry state. If the workstation has had KB 960715 removed and reinstalled more than twice, the cumulative state of the Office patch store and the WinCC COM cache becomes inconsistent. Re-image from a known-good template.
- The Configuration Tool writes a per-user registry key under
HKCU. The setting persists across reboots but is lost when the user profile is recreated. Do not rely on per-user configuration of the tool — assume the next login on a new profile will be a fresh install. - WinCC V6.2 SP2 reached end of life years before the V7.0 SP1 add-in. Customers on V6.2 should plan a migration to V7.x rather than perpetuate the KB 960715 workaround on aging workstations.
References (Inline)
Siemens support entry — Entry ID 22557737: WinCC Configuration Tool — CReadProgressDlg error after Microsoft Update KB 960715. Microsoft security bulletin for KB 960715 is referenced from the same Siemens entry; the bulletin itself is on microsoft.com under the corresponding MS09-XXX advisory.
FAQ
What is the CReadProgressDlg error in the WinCC Configuration Tool?
It is a Compile Error fired by the Office VBA host when the CReadProgressDlg class inside the WinCC XLA add-in fails to bind. On WinCC V6.2 SP2 / V7.0 the cause is Microsoft Update KB 960715 tightening VBA signature enforcement. The second dialog (Run-time error '440 — Automation error') is the follow-on COM failure of the now-unbindable object.
Do I have to uninstall KB 960715 on every engineering workstation?
For WinCC V7.0 SP1 and later, no — SP1 ships a re-compiled add-in that is KB 960715-aware. For V6.2 and pre-SP1 V7.0, yes — the only vendor-supported fix is removal of KB 960715 plus a reinstall of the configuration tool. Block the update at the WSUS level for the engineering OU rather than relying on per-workstation removal.
Is Office 2007 supported with WinCC V6.2 SP2?
No. Office 2003 is the supported pair for V6.2; Office 2007 is supported from WinCC V7.0 SP1. Pairings outside the official matrix will exhibit Automation errors, although not necessarily the CReadProgressDlg error documented here.
Will reinstalling the Configuration Tool fix the error by itself?
No. The reinstall refreshes the COM cache and the XLA binary, but the broken binding model imposed by KB 960715 remains. Both steps — remove KB 960715, then reinstall the tool — are required.
Can I keep KB 960715 installed if I cannot remove it?
Yes, using one of the documented workarounds: block KB 960715 at the WSUS policy for the engineering OU; sign the WinCC add-in with a trusted-publisher certificate and re-publish; or virtualize the engineering workstation on a frozen pre-update image. None of these are first-choice — they are second-line options when security policy forbids KB removal.