Problem Overview
The Siemens WinCC Project Duplicator is the documented tool for mirroring a running WinCC runtime project from a master server onto its redundant partner server. In production environments running WinCC V7.0 SP2 Update 10, WinCC V7.4, or WinCC V8.0 with the classic redundancy option, the Duplicator frequently fails to complete the copy operation on a healthy redundant partner that already holds a previous project copy. The error presents as a generic "Error duplicating" dialog after several minutes of operation. The partial copy leaves the standby server in an unusable state: the WinCC project cannot be started because key files are missing, and the start routine demands that a migration be run first.
Field reports describe a 5 GB project that transfers roughly 700 MB before the Duplicator aborts. The same project copies correctly when the target folder on the redundant partner is fully deleted beforehand, but the redundancy manual states that an in-place update of the existing project copy is the expected behavior of the Duplicator. The combination of partial file copy + forced migration prompt + no meaningful log output is the typical symptom set that this article addresses.
Affected Versions and Components
| Component | Confirmed Affected Version | Notes |
|---|---|---|
| WinCC V7 | V7.0 SP2 Update 10 | Classic redundancy, two-server configuration |
| WinCC V7 | V7.4 / V7.5 SP1+ | Same Project Duplicator binary, same failure mode |
| WinCC V8 | V8.0 / V8.0 Update 1 | Migrator is not invoked for V8.x targets |
| WinCC RT Professional (TIA Portal) | V17 / V18 / V19 / V20 | Different workflow, supports online upgrade |
| SIMATIC WinCC Migration Tool | Built-in | Only converts V6.x → V7.x; rejects V7/V8 as source |
How the WinCC Project Duplicator Is Supposed to Work
The Duplicator is invoked on the source server and copies the active runtime project to a target path on a remote computer. For redundant configurations, the source is the preferred/master server and the target is the redundant partner. The tool is documented in the WinCC Information System under Working with WinCC → Duplicating Projects and is summarized in Siemens Support entry 109824649 for WinCC V8.0.
Pre-flight checks the Duplicator performs:
- Source project is closed on the target computer.
- WinCC Runtime is deactivated on the target computer.
- Target folder exists and is writable for the user running the Duplicator.
- Target computer runs the same WinCC major version as the source.
- Free disk space on the target ≥ size of the source project.
- The Duplicating user has administrative rights on both machines.
If all checks pass, the tool sequentially copies the GraCS\, Library\, PRT\, Scripts\, Textbib\, WSP\, PAS\, DB\, and Redundancy\ subfolders together with the project database file (typically <Project>.mdf and <Project>_log.ldf). The redundant partner subsequently restarts Runtime and re-establishes the standby role.
Documented Failure Modes
| Symptom | Root Cause Family | Severity |
|---|---|---|
| Generic "Error duplicating" dialog after 700 MB of a 5 GB copy | Network share timeout, ACL on file/folder, locked DLL | High |
| Duplicator hangs for minutes doing nothing, then errors out | Remote service not started (WinCC Remote Service / CCAgent) | High |
| After manual full copy, WinCC demands "use Migrator first" | Project file version mismatch (e.g., V7.0 SP2 source copied to V6.x target) | Critical |
| Migrator reports "only for versions 6.xx" but source is V8.0 | Wrong Migrator version launched (legacy V6 Migrator) | Critical |
| Standby boots but does not subscribe to the master | Redundancy channel password / computer name change | Medium |
| Project copies correctly only after manual delete of the target folder | Stale read-only attributes or orphaned archive bit | Medium |
Root Cause Analysis
Four root cause families cover almost every reported Project Duplicator failure in a redundant plant:
1. Network Share and SMB Permissions
The Duplicator does not always use the explicit administrative share; it can fall back to a UNC path that inherits the share ACL. If the calling user lacks Modify rights on inherited subfolders, the copy silently skips files, drops the connection mid-stream, and aborts with no log line beyond the dialog caption. Field evidence: a 5 GB copy aborts at 700 MB, which corresponds to the size of the uncompressed GraCS\ graphics cache — the exact boundary at which Windows enumerates the next subfolder and re-evaluates inherited ACLs.
2. Locked or Read-Only Files on the Standby
If the standby server still has the WinCC project open in the WinCC Explorer, or if the SQL Server holding the runtime database has not released its file handle, the Duplicator cannot overwrite the database files. The error is reported as a generic failure. The Reset_WinCC.vbs script (shipped in <Install>\WinCC\bin) is designed to clean up these states, but it does not always unlock MDF/LDF files if SQL Server Express is stuck.
3. Version Drift Between Source and Target
The Duplicator refuses to copy a project onto a target whose installed WinCC major/minor build is older. A V8.0 source cannot be placed onto a V7.4 SP1 target. The error symptom is identical to a permission failure. Conversely, copying a V7.x project onto a V6.x build forces the user into the V6 Migrator, which is incompatible with V7/V8 source data.
4. Redundancy-Specific State on the Standby
Files in the Redundancy\ subfolder, the ArchiveManager\ folder, and the Project.ldf transaction log are written to frequently while the standby is hot. If the Duplicator reads these files during a write burst, the copy truncates mid-file, leaving a half-written archive segment that crashes the standby at next start.
Pre-Flight Verification Checklist
Before opening the Duplicator, perform and document the following checks. The redundancy manual lists the first six; items 7–11 are field-validated additions that resolve the most common hidden causes.
- Confirm Windows user is identical (same account name and password) on master and standby, and is a member of
SIMATIC HMIand localAdministrators. - Confirm UNC path:
\\<Standby>\<WinCCProjectShare>$\or\\<Standby>\<Folder>\is reachable and writable. - Confirm free disk space on the standby ≥ 1.5 × project size (factor covers logs and swap).
- Confirm WinCC Runtime is stopped on the standby:
Start → Programs → SIMATIC → WinCC → WinCC Explorer → File → Exit WinCC, then close the WinCC Explorer window. - Confirm the WinCC service
CCAgentandSQLSERVER ($WINCC)are running on the standby. - Confirm the source and target WinCC builds are identical (Help → About on both machines).
- Open
services.mscon the standby and stopSIMATIC WinCC ArchiveManager,SIMATIC WinCC Runtime, andSIMATIC WinCC AlarmManagerto release file locks before invoking the Duplicator. - Clear read-only attributes recursively on the existing project folder:
attrib -r "\\<Standby>\<Path>\*.*" /S /D. - Run
Reset_WinCC.vbson the standby as Administrator. This removes pending CCAgent tasks and temp files under%TEMP%\WinCC\. - Verify that the SQL Server instance on the standby is
SQLEXPRESSfor WinCC V7 orWINCCfor WinCC V8 and that the database is detached:sqlcmd -S .\WINCC -Q "sp_detach_db '<ProjectDBName>'". - Disable antivirus real-time scanning on the project folder on both servers for the duration of the duplicate operation (Symantec, McAfee, Windows Defender Controlled folder access are common culprits).
Step-by-Step Resolution
Step 1 — Stop and Unlock Both Servers
- On the standby: exit WinCC Runtime, exit WinCC Explorer.
- Run
services.mscand stopSIMATIC WinCC Runtime,SIMATIC WinCC ArchiveManager, andSQL Server (WINCC)(orSQLEXPRESSfor V7). - Run
Reset_WinCC.vbsas Administrator. - Restart only
SQL Server (WINCC); leave the WinCC services stopped.
Step 2 — Clean the Target Folder
- Rename the existing project folder:
ren "C:\Projects\PlantA" "PlantA_backup_%date%". - Create a fresh target folder:
mkdir "C:\Projects\PlantA". - Grant the Duplicator user
Full Controlon the new folder and propagate to subfolders (do not rely on inheritance from a parent share that may carry an old ACL).
Step 3 — Run the Project Duplicator
- On the master server, start
Start → Programs → SIMATIC → WinCC → Tools → Project Duplicator. - Select the source project from the list.
- Enter the target computer and the freshly created target path.
- Click Duplicate and monitor the progress dialog. The transfer should now complete without truncation.
Step 4 — Restore Standby Services
- On the standby, start
SIMATIC WinCC RuntimeandSIMATIC WinCC ArchiveManagerfromservices.mscor by double-clicking the WinCC project. - Verify in the WinCC Explorer status bar that the standby shows "Redundancy OK" and that the master is reported as the preferred server.
Handling the "Use Migrator First" Error
If the standby WinCC project start reports that a migration is required, you have crossed two valid WinCC versions (for example copied a V7.4 SP1 project onto a V7.0 base install) or you copied a V8.0 project onto a V7.x target. The fix is structural, not procedural:
- Match WinCC major versions: V7.0 SP2 ↔ V7.0 SP2, V7.4 ↔ V7.4, V7.5 ↔ V7.5, V8.0 ↔ V8.0.
- If you must move between versions, install the matching WinCC DVD on the target first, then run the appropriate version-specific Migrator from
Start → Programs → SIMATIC → WinCC → Tools → Project Migrator. - The V6-era Migrator error "only for versions 6.xx" is a hard-coded message. Launch the correct V7 or V8 Migrator; do not run
Siemens Automation → SIMATIC → WinCC → WinCC V6 Migrator.
Engineering Station Alternative
When the Project Duplicator is unstable in a given plant, the documented fallback is to use an Engineering Station (ES) with the WinCC Configuration Studio to download the project to both servers. The ES is connected to the redundant pair via the WinCC configuration channel. This workflow is supported in V7.0 SP2 and later and is more reliable on plants larger than 2 GB because it transfers the configuration database directly rather than enumerating 50,000+ files over SMB.
- Connect the ES to the master server's project via the WinCC project tree.
- Right-click the project → Download to Target System → select the master.
- Repeat for the standby (redundant partner).
- Restart Runtime on the standby in standby mode.
The ES workflow requires the WinCC option WinCC Configuration licensed on the ES and a working TCP connection on port 1433 (default SQL Server) plus the WinCC remote service ports.
WinCC RT Professional — Online Upgrade Path
For plants on TIA Portal with WinCC RT Professional, the upgrade behavior is fundamentally different. According to the Siemens TIA Portal V20 documentation for upgrading redundant plants during operation, the master and standby are upgraded independently, in sequence, and each server is rebooted individually while the other carries the runtime load. The Project Duplicator is not part of this workflow; instead, TIA Portal performs a project consistency check, recompiles the runtime, and pushes the new binaries to each target.
| Step | Master | Standby |
|---|---|---|
| 1 | Open project in TIA Portal V20 | Carrying runtime load |
| 2 | Compile → Download to device (master only) | Carrying runtime load |
| 3 | Reboot, return as master | Carrying runtime load |
| 4 | Carrying runtime load | Download to device (standby) |
| 5 | Carrying runtime load | Reboot, return as standby |
Plants experiencing repeated Project Duplicator failures on classic WinCC V7/V8 should evaluate a migration to RT Professional if the V20 release is supported by the rest of the control system; the online-upgrade flow eliminates the offline file-copy failure mode entirely.
Log File Locations for Diagnosis
When the Duplicator dialog offers no detail, the following log paths surface the underlying exception:
| Log Path | What It Records |
|---|---|
<Project>\Diagnostics\Log\* |
WinCC Explorer startup, project version, integrity |
C:\ProgramData\Siemens\Automation\WinCC\<Project>\OPC\* |
OPC channel state during copy |
%ProgramFiles%\Siemens\Automation\WinCC\bin\dup_log.txt |
Duplicator per-file status when verbose logging is enabled |
| Windows Application Event Log, source Application Error | Unhandled exception in CCDup.exe or CCProjectMgr.dll
|
SQL Server ERRORLOG on standby |
Attach/detach errors on the runtime MDF/LDF |
To enable verbose Duplicator logging, set the registry value HKLM\SOFTWARE\Siemens\WinCC\Duplicator\DebugLevel = 1 (DWORD) on the source server, restart the Duplicator, and inspect dup_log.txt for the last successfully copied file path. The file listed after the last entry is the file that triggered the abort.
Verification
After any Project Duplicator procedure, verify redundancy health with the following checks:
- On the standby, open the WinCC Explorer and confirm the red/green redundancy icon in the status bar reads green.
- Open
WinCC Explorer → Tools → Redundancy Controland confirm the partner is reachable on the configured TCP port (default 5000). - Force a manual failover: Redundancy → Switch to Partner. The partner should take over within 2–4 seconds; the original master should return as standby.
- Verify the archive sequence:
Start → Programs → SIMATIC → WinCC → Tools → Archive Configuration— switch the archive back-up path and confirm the standby is writing the same time range as the master. - Check tag logging parity: stop Runtime on the master, confirm that all tags on the standby have current values within one cycle of the configured acquisition time.
Preventive Maintenance
- Maintain a documented redundancy mirror procedure that always begins with stopping the standby services and detaching the SQL database.
- Schedule Duplicator runs during plant pauses where archive write rate is < 10 KB/s.
- Exclude the WinCC project folder from real-time antivirus scanning on both servers.
- Keep both servers patched to the same WinCC Update level; Siemens releases cumulative fixes in Updates (e.g., Update 10 for V7.0 SP2 contained a Duplicator fix for ACL inheritance on long paths).
- For plants larger than 5 GB, evaluate the ES download workflow or migrate to RT Professional to avoid the file-copy path entirely.
Troubleshooting Matrix
| Observed Symptom | Likely Cause | First Action |
|---|---|---|
| Copy aborts at a subfolder boundary (e.g., 700 MB / 5 GB) | Inherited ACL denial | Recreate target folder with explicit Full Control
|
| Dialog: "Error duplicating", no log entry | CCDup.exe crash | Enable registry debug, check dup_log.txt
|
| Dialog: "target folder is not empty" | Read-only file attribute | Run attrib -r /S /D on target |
| After copy, WinCC demands migrator | Version mismatch | Match WinCC major build on both servers |
| Migrator says "only for V6.xx" | Wrong Migrator version launched | Launch V7/V8-specific Migrator |
| Standby starts but does not subscribe to master | Computer name or redundancy password changed | Re-enter partner computer name in redundancy config |
| Duplicator hangs for minutes, no transfer | CCAgent or remote service not started | Start CCAgent on the standby |
| Copy completes but standby crashes on start | Torn archive log | Stop source Runtime during duplicate; restore from backup |
Why does the WinCC Project Duplicator abort partway through a 5 GB project with a generic error?
The Duplicator's most common mid-copy failure on projects above 2 GB is an inherited SMB ACL that the source user cannot write to. Recreate the target folder on the standby with explicit Full Control for the Duplicator user, run Reset_WinCC.vbs, detach the SQL database, and disable antivirus real-time scanning on the project folder before re-running the duplicate.
Why does the standby demand a migration after a manual file copy?
WinCC detects that the project on disk does not match the installed WinCC major version and refuses to start Runtime until the appropriate Migrator runs. Verify the WinCC version on the standby matches the source (Help → About). If the standby runs a different major version, install the matching DVD and run the matching V7 or V8 Migrator. The "only for V6.xx" message comes from the legacy V6 Migrator and indicates the wrong tool was launched.
Can I keep the master Runtime running while duplicating to the redundant partner?
You can, but the Duplicator copies the SQL database and archive segments while the master is still writing to them. On a busy plant this produces a torn transaction log on the standby and a startup crash. Stop Runtime on the source before triggering the duplicate on plants larger than 1 GB or with archive write rates above 10 KB/s.
What is the supported online-upgrade path for redundant WinCC systems?
For WinCC RT Professional in TIA Portal V17 and later, Siemens supports upgrading a redundant plant during operation: each server is downloaded, rebooted, and re-integrated one at a time, with the partner carrying the runtime load. The Project Duplicator is not used. See the TIA Portal V20 documentation on upgrading redundant plants during operation for the exact step sequence.
Where do I find the actual reason the Duplicator failed when the dialog gives no detail?
Enable Duplicator verbose logging with the registry value HKLM\SOFTWARE\Siemens\WinCC\Duplicator\DebugLevel = 1 (DWORD) on the source server, then inspect %ProgramFiles%\Siemens\Automation\WinCC\bin\dup_log.txt. The path listed after the last successful entry is the file that triggered the abort. Also check the Windows Application Event Log for an Application Error from CCDup.exe or CCProjectMgr.dll and the SQL Server ERRORLOG on the standby for an attach/detach error on the runtime MDF.