CCW v23 can reach controller selection and open Global Variables without closing once the failing dependency or engineering component is identified and corrected. Repeated reinstallations are not a useful endpoint: this failure occurred in a new project with no user logic, and the specified Visual C++ replacement-and-repair sequence did not resolve it.
Failure boundary
The first task is to separate a project-logic fault from an engineering-environment fault. In the reported sequence, CCW v23 created a new project, accepted a controller selection, and then crashed when Global Variables was opened. No application logic had been entered. Controller selection causes CCW to load controller-specific editors, definitions, and supporting software components; opening the variable editor exercises more of that component chain.
| Observation | Diagnostic meaning | Next action |
|---|---|---|
| Crash occurs before controller selection | Base application or installation problem | Collect the startup report and CCW log |
| Crash starts after controller selection | Controller-specific component path is involved | Record the selected controller and exact last successful action |
Crash occurs at Global Variables with no logic |
User logic is not the trigger | Test the editor and runtime dependencies |
| Only one existing project fails | Project content becomes a candidate | Compare with a new empty project |
Check 1: Create a new empty project, select the same controller, and open Global Variables. Expect either a repeatable crash at the same transition or a normally displayed variable editor. A repeat at the same point establishes an environment or controller-component failure before any logic is added.
Diagnostic record
Capture the crash report before changing installed packages again. A report generated from the displayed prompt can identify the module that stopped, while the CCW debug log records events leading to the failure. The reported default log location is C:\ProgramData\Rockwell\CCW.
- Reproduce the failure once using the shortest known sequence: new project, controller selection, then
Global Variables. - Generate the report offered by the crash dialog.
- Open
C:\ProgramData\Rockwell\CCWand identify the log updated at the reproduction time. - Record the CCW version as
v23, the selected controller, the last successful screen, and the first failing action. - Preserve the report and log before uninstalling, repairing, or replacing runtimes.
Read from the end of the log backward and locate the first failure preceding shutdown. Record the named module, exception information, or component-loading failure exactly as displayed. Do not infer a package name from the crash location alone.
Check 2: Compare the log timestamp with the reproduction time. Expect a newly updated CCW log and a report tied to the same run. If neither artifact updates, verify that the crash prompt's report-generation action completed before proceeding.
Visual C++ runtime alignment
The term runtime alignment here means installing the x86 Visual C++ redistributable requested by the affected CCW component. An installed package can exist while the component still fails to load because architecture, package generation, or registration does not match what it requests.
One proposed compatibility sequence was to remove Microsoft Visual C++ 2015-2019 and run the Visual C++ 2017 x86 installer at ...\13.00.00-CCW-INT-Std-DVD\Redist\VCRedist_2017\vc_redist.x86.exe. That path identifies a particular installation-media layout; use it only when that file is present on the installation media. Preserve the crash artifacts first because package removal changes shared Windows runtime state.
- Record the installed Visual C++ packages before changing them.
- Uninstall
Microsoft Visual C++ 2015-2019. - Run
vc_redist.x86.exefrom the statedVCRedist_2017directory. - Restart Windows if the installer requests it.
- Reproduce the empty-project test without adding logic.
This sequence did not resolve the reported installation. Treat it as one bounded compatibility test, not a reason to repeat runtime removal indefinitely.
Check 3: Return to the installed-programs list and expect the x86 runtime installation to appear without a failed installer status. Then select the controller and open Global Variables; expect the editor to remain open. If the crash repeats, retain the new log and advance to CCW repair.
CCW repair sequence
A CCW repair re-registers installed application components after the runtime change. Repair must follow runtime installation in this sequence; repairing first and then replacing a dependency can leave the repaired component pointing at a changed runtime environment.
- Close CCW.
- Open the Windows
Add or remove programssettings page. - Select the installed CCW entry and start its repair operation.
- Allow the repair to finish without opening the project concurrently.
- Start CCW v23 and repeat the new-project controller-selection test.
A complete uninstall and reinstall had already been attempted several times without clearing this failure. Another identical reinstall adds little diagnostic value unless the log identifies a missing or damaged CCW file that repair cannot restore.
Check 4: Expect CCW v23 to start, accept the controller selection, and display Global Variables without the crash prompt. If it still closes, compare the pre-repair and post-repair logs. An unchanged first failure points away from simple installation-file damage.
Project and operating-system isolation
Use controlled substitutions to determine whether the failing boundary is the project, the selected controller component, or the Windows environment. Change one variable per test and preserve a separate log for each result.
- Open a new empty project and repeat the original controller selection.
- Open a known project in which a controller is already selected, then navigate directly to
Global Variables. - If suitable test hardware definitions are available in CCW, repeat with another controller selection and record whether the editor opens.
- Run the same CCW v23 workflow in a Windows 10 virtual machine only as an environment-isolation test.
A Windows 10 virtual machine bypassed some CCW v23 controller issues in another case, but that result does not identify the cause of this specific crash. If the same project and controller work in the virtual machine, compare installed runtimes, CCW components, and the failing module named in the host log. If both environments fail identically, focus on the project or controller-specific component rather than repeatedly rebuilding the host.
Check 5: Expect a test matrix with one result per project, controller selection, and operating system. The decisive reading is a single changed condition that changes the outcome from crash to an open Global Variables editor.
End-to-end commissioning verification
Passing one editor-opening test is not enough. Verify the complete offline engineering path that originally failed before connecting equipment or writing application logic.
- Create a new project in CCW v23.
- Select the required controller and confirm that CCW remains open.
- Open
Global Variablesand expect the editor to display normally. - Create a test variable using valid project conventions, save the project, close CCW, and reopen it.
- Confirm that the selected controller and saved variable remain present.
- Repeat the controller-selection and variable-editor sequence once more while monitoring
C:\ProgramData\Rockwell\CCW.
Check 6: Expect two consecutive runs with no crash prompt, a persistent controller selection, a persistent test variable, and no new fatal entry at the end of the CCW log. This is the final verification step.
FAQ
Can I fix a CCW v23 crash by reinstalling CCW?
Not reliably. Multiple complete reinstalls did not clear this controller-selection and Global Variables crash; capture the report and C:\ProgramData\Rockwell\CCW log before another repair.
Does the crash come from my PLC logic?
A repeatable crash in a new project before any logic is entered removes user logic from the immediate trigger path. Test controller selection and Global Variables in an empty project.
Can I replace Microsoft Visual C++ 2015-2019 with 2017?
The tested sequence removed Microsoft Visual C++ 2015-2019 and installed the 2017 x86 package using vc_redist.x86.exe, then repaired CCW. It did not fix the reported installation, so preserve logs and treat the change as a bounded diagnostic test.
Does a Windows 10 virtual machine prove CCW v23 is incompatible with my host?
No. A successful Windows 10 VM test isolates the host environment as the changing condition; compare its runtimes and CCW log with the host before naming a cause.
Can I verify the repair without connecting a controller?
Yes. Create a project, select the controller definition, open Global Variables, save a test variable, restart CCW, and confirm that the controller and variable persist without a new fatal log entry.