DNC Error: "Runtime Error 339 / 429" (ActiveX / OCX Missing)
Why older DNC software might fail to install or crashes at runtime.
"Runtime Error 339: Component '[filename].ocx' or one of its dependencies is not correctly registered":
Occurs when a necessary file is missing or failed to install correctly on newer Windows versions."Runtime Error 429: ActiveX component can't create object":
Occurs when the program attempts to use a file but it refuses to run on newer Windows versions.The Cause & The Solution for Machine Shop PCs
Older/legacy software applications often rely on separate 'helper' files to display or manage things like text boxes, buttons, menus and RS232 ports. For security reasons modern versions of Windows might place these necessary files in a different folder where the application can't find them or simply doesn't install them at all. If Windows or the application cannot find or open one of these helper files when the program starts, it immediately crashes with Error 339 or Error 429.
The Cause: This typically happens when running legacy software on modern versions of Windows, after a major Windows update, or if the original software installer lacked administrator privileges during setup to register its files.
The Solution: Resolving these errors on legacy software often requires opening an elevated command prompt and manually registering missing files using Windows system utilities. Sometimes the application can be installed and 'Run As Administrator' which, in this day and age, should be avoided.
EasyDNC Options for Shop Floor & IT Administrators
- EasyDNC 4.7: A legacy 32-bit application for older versions of Windows. It still works on newer 64-bit versions of Windows and many CNC operators still prefer that version even though it's looking a little old by today's standards and isn't fully UAC compliant.
- EasyDNC v5 (RemoDNC): A modern 'AnyCPU' application targeting modern .NET frameworks so has no dependencies. This does install and run on Windows XP SP3 or later. On a 64-bit computer it runs in true 64-bit mode and is fully Windows UAC aware.
Technical Details: Why ActiveX/COM Component Creation Fails
For IT administrators and software developers, Runtime Errors 339 and 429 stem from COM registration failures when an application attempts object instantiation:
- Unregistered COM/ActiveX Controls: If a setup program was run without administrative rights, Windows User Account Control (UAC) silently blocks the registration of its Class ID (
CLSID) inHKEY_CLASSES_ROOT. - 64-Bit Subsystem Redirection: On 64-bit versions of Windows, 32-bit ActiveX controls must reside in and be registered via the 32-bit subsystem using
C:\Windows\SysWOW64\regsvr32.exe. If registered incorrectly or placed only inSystem32, 32-bit legacy binaries cannot locate or instantiate the object. - Broken Dependency Chains: Even if the primary
.ocxfile is present, Error 339 or 429 will still trigger if a secondary dynamic link library (such as an older Visual C++ runtime DLL) is missing from the system path.