Common controls do not load in VB6 after IE10 installation

After installing the new version of Internet Explorer (version 10), I find that I am unable to load the Microsoft Common Controls (mscomctl.ocx) or the Microsoft Common Controls-2 (mscomct2.ocx) from the \windows\syswow64 folder.  When I try to add the components in Visual Basic 6, I get the error "Object library not registered".


I know that this error first surfaced last August with a Microsoft security update, and I've followed the recommendations of many of the posts.  I've unregistered and then registered the two components (mscomctl.ocx and mscomct2.ocx) in the \syswow64 folder numerous time.  They are always successful (i.e. "DllRegisterServer in mscomctl.ocx succeeded.")  However, I always get the "Object library not registered" when I try to add them. 


I've removed the 2.0 version of the Registry Key in regedit:  "hkcr\typelib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0".  The 2.1 version is the only one that exists now. 


I've also removed all references in the registry to \windows\system32\mscomtl.ocx and mscomct2.ocx.  There were in SharedDLLs and Common Tools.


What is another good thing to try at this point?



Question Info

Last updated March 7, 2019 Views 43,930 Applies to:

I am not running IE10, so I cannot reproduce your exact same environment.

I've had similar problems ... when attempting to run one of my VB6 programs (on Windows 7 64-bit), I received a message that mscomct2.ocx (or its dependencies) were not currently registered.

My problem was solved by using an elevated command prompt and running regsvr32 to register mscomct2.ocx in sysWOW64.

I also deleted mscomct2.ocx from system32 using elevated command prompt.

I see that you have tried unregistering and reregistering the two components. Have you tried (via elevated command line) unregistering, then (after making a backup elsewhere) deleting those components from sysWOW64 (and anywhere else they might be). Then copying the components back to sysWOW64 (from your backup) and reregistering? Just a thought.

Finally, I use a free utility from nirsoft to display the location of all registered components. Perhaps your copies of mscomctl.ocx and mscomct2.ocx are registered elsewhere on your hard drive? Again, just a thought. You can get the nirsoft utility here ...

Off topic question:  Did you have any problems installing VB6 on your win 7 64-bit computer? I have not tried to install the VB6 development environment on my win 7 64-bit computer yet, I currently do my VB6 development on an XP (32-bit) computer.

14 people were helped by this reply


Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.