Resolving Run-Time Error ‘372’ (MSCOMCTL.OCX) in BusyWin & VB6 Applications: Complete Technical Guide
📅 05 Apr 2026
📂 General
👁 1 views
Run-time errors in legacy Windows applications—especially those built on Visual Basic 6 (VB6)—are still very common in business environments. One such frequent issue is:
Run-time error ‘372’: Failed to load control ‘ImageList’ from MSCOMCTL.OCX
This error typically appears in applications like Busy Accounting Software, older ERP tools, and custom VB6-based systems. It is directly related to a missing, outdated, or improperly registered MSCOMCTL.OCX file.
This article provides a complete technical explanation, root causes, and step-by-step solutions to permanently fix the issue.
What is MSCOMCTL.OCX?
MSCOMCTL.OCX (Microsoft Common Controls) is a VB6 ActiveX control library that provides UI components such as:
-
ImageList
-
ListView
-
TreeView
-
ProgressBar
-
Toolbar
These controls are widely used in older Windows desktop applications.
Understanding Run-Time Error ‘372’
Error Description
Technical Meaning
The application is trying to load a UI component (ImageList), but:
-
The required OCX file is missing
-
The version installed is incompatible
-
The OCX is not registered in Windows registry
Root Causes of the Error
1. Missing MSCOMCTL.OCX
-
File not present in system directories
2. Unregistered OCX File
-
File exists but not registered using
regsvr32
3. Version Mismatch
-
Application expects a specific version
-
Windows update replaced it with incompatible version
4. Corrupted OCX File
-
Damaged during system crash or improper installation
5. 64-bit vs 32-bit Conflict
-
VB6 apps are 32-bit, but running on 64-bit OS
6. Permission Issues
-
Lack of admin rights during registration
System Architecture Understanding
| Component | Requirement |
|---|
| Application | 32-bit (VB6) |
| OS | 32-bit or 64-bit |
| OCX Location (64-bit OS) | C:\Windows\SysWOW64\ |
| OCX Location (32-bit OS) | C:\Windows\System32\ |
⚠️ Important:
On 64-bit Windows, SysWOW64 is used for 32-bit files
Step-by-Step Solution
Step 1: Obtain Correct MSCOMCTL.OCX
-
Use original file from:
-
Working system
-
Application installation folder
-
VB6 Runtime package
Step 2: Copy File to System Directory
For 64-bit Windows:
For 32-bit Windows:
Step 3: Register the OCX File
Open Command Prompt as Administrator
For 64-bit:
For 32-bit:
✅ Expected Output:
Step 4: Restart Application
-
Close BusyWin
-
Reopen application
Advanced Troubleshooting
✔ Re-register OCX
✔ Install VB6 Runtime (SP6)
-
Includes updated dependencies
✔ Run Application as Administrator
-
Fixes permission-related issues
✔ Compatibility Mode
-
Set to Windows 7 / Windows XP
✔ Check Windows Updates
-
Some updates overwrite OCX files
✔ Use Dependency Walker (Advanced)
-
Identify missing DLL dependencies
Server Environment Considerations
In multi-user setups (like yours with Busy + Tally):
-
Ensure OCX is installed on:
-
Server
-
All client machines
-
If using RDP:
-
Register OCX on remote server
-
For domain environments:
-
Check group policies restricting OCX registration
Best Practices
-
Maintain a backup of working OCX files
-
Avoid random downloads from unsafe sources
-
Use official runtime packages
-
Document system dependencies during deployment
Conclusion
Run-time error ‘372’ is a classic issue in VB6-based systems, but it is easy to fix with proper understanding of:
-
OCX file management
-
System architecture
-
Registration process
By following the steps above, you can ensure smooth operation of BusyWin and similar applications in both standalone and server environments.
#mscomctl #runtimeerror372 #vb6 #busysoftware #ocxerror #windowsfix #erpissues #accountingsoftware #vb6error #activex #imagelist #ocxfix #regsvr32 #windowsserver #rdpissue #softwaretroubleshooting #legacysoftware #vb6runtime #dllerror #systemerror #windows10fix #windows11fix #serverissue #clientmachine #ocxregistration #itadmin #techsupport #softwareerror #erpfix #busywin #vb6support #systemrepair #ocxmissing #compatibilitymode #adminrights #troubleshootingguide #softwaredeployment #vb6controls #runtimefix #windowsadmin #itissues #technicalguide #ocxsolution #errorhandling #vb6apps #systemarchitecture #windowsregistry #softwaremaintenance #enterpriseit
mscomctl.ocx
runtime error 372
busywin error fix
vb6 error 372
imagelist control error
mscomctl download
ocx registration
regsvr32 command
vb6 runtime error
activex control error
windows ocx issue
busy software error
accounting software error