Bison Infosolutions Knowledgebase
Protect your Lenovo Server
Contact WhatsApp

Resolving Run-Time Error ‘372’ (MSCOMCTL.OCX) in BusyWin & VB6 Applications: Complete Technical Guide

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

Run-time error '372':
Failed to load control 'ImageList' from MSCOMCTL.OCX

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

ComponentRequirement
Application32-bit (VB6)
OS32-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:

C:\Windows\SysWOW64\

For 32-bit Windows:

C:\Windows\System32\


Step 3: Register the OCX File

Open Command Prompt as Administrator

For 64-bit:

regsvr32 C:\Windows\SysWOW64\MSCOMCTL.OCX

For 32-bit:

regsvr32 C:\Windows\System32\MSCOMCTL.OCX

✅ Expected Output:

DllRegisterServer in MSCOMCTL.OCX succeeded


Step 4: Restart Application

  • Close BusyWin
  • Reopen application


Advanced Troubleshooting

✔ Re-register OCX

regsvr32 /u MSCOMCTL.OCX
regsvr32 MSCOMCTL.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
Sponsored