When you attempt to run a program created using Visual Basic 6.0 or Visual FoxPro 6.0 on a Windows 11/10 computer, the following error may occur:
Component 'MSCOMCTL.OCX' or one of its dependencies not registered: a file is missing or invalid
Let’s see how to fix this error on any version of Windows, including Windows 11.
Fix for Error MSCOMCTL.OCX missing or not registered
First, check if the file
MSCOMCTL.OCX exists in the following folder:
If you’re using Windows 64-bit edition:
If you’re using Windows 32-bit edition:
MSCOMCTL.OCX exists in the above location, then all you need to do is register the module using
To register the module, open an administrator Command Prompt window and type the following command:
For Windows 64-bit systems:
For Windows 32-bit systems:
You should see the following output/message:
DllRegisterServer in mscomctl.ocx succeeded.
RegSvr32.exe throws the error 0x8002801c?
If the above command-line throws the error 0x8002801c, it means that the command was unable to write to the registry successfully. This happens if you ran the command from a normal Command Prompt instead of the admin or elevated Command Prompt.
The module "mscomctl.ocx" was loaded but the call to DllRegisterServer failed with error code 0x8002801c. For more information about this problem, search online using the error code as a search term.
To resolve the error 0x8002801c, re-run the command-line from admin Command Prompt.
MSCOMCTL.OCX Missing? Download it now
If MSCOMCTL.OCX is missing from the Windows\System32 or Windows\SysWOW64 directory, you’ll receive the following error when running the RegSvr32.exe command-line:
The module "C:\Windows\SysWOW64\mscomctl.ocx" failed to load. Make sure the binary is stored at the specified path or debug it to check for problems with the binary or dependent .DLL files. The specified module could not be found.
In that case, you’ll need to download the module and save it to
C:\Windows\System32 (for Windows 32-bit computers) or
Windows\SysWOW64 folder (for Windows 64-bit computers).
The most recent version of
v6.01.9846. It’s included in
VB60SP6-KB3096896-x86-ENU.msi (Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update 1/8/2016) package from Microsoft Corporation. Here’s the download link:
- Once downloaded, open the MSI package using the freeware 7-Zip utility.
- Extract/copy the module MSCOMCTL.OCX and save it to the
- Then register the module using RegSvr32.exe command-line as explained at the top of this article.
MSCOMCTL.OCX – File Information
Filename : MSCOMCTL.OCX Verified : Signed Publisher : Microsoft Corporation Company : Microsoft Corporation Description : Windows Common Controls ActiveX Control DLL Product : MSCOMCTL Prod version : 6.01.9846 File version : 6.01.9846 MachineType : 32-bit MD5 : 273676426739b02a45a0fc9349500b65 SHA1 : a23c709fae04feef87358abd59504940d0d0c806 SHA256 : 152121a5d1ac8f12002c18afc294bb1ebcecc1d61deec6211df586c11acde9b6
Note that the MSI package contains the following OCX files among many other files inside the archive:
What is MSCOMCTL.OCX?
MSCOMCTL.OCX is a 32-bit module used by developers when creating applications using Visual Basic. This module is responsible for showing UI elements such as the image combo control, progress bar, Listview, sliders, toolbar, tree view, etc in the program created using Visual Basic.
The MSCOMCTL.OCX module doesn’t ship with Windows, by default. Microsoft has informed that this module will be supported in Windows 11 (and earlier), but it has to be shipped along with the respective software. This means that the module won’t be available via WinBIndex.
For more information, see the section named “Supported runtime files to distribute with your application” in the article Support Statement for Visual Basic 6.0. Even now, there are lots of users who run their old VB apps on Windows 11/10.
I hope this article helped you resolve the MSCOMCTL.OCX error and run your classic VB 6.0 or Visual FoxPro 6.0 apps successfully.