5
votes

I've recently installed windows 10 from windows 7. I have now run in to an issue where microsoft Common Controlls mscomctl is not founnd

enter image description here

I have registered the "MSCOMCTL.OCX" file with sysWow64/Regsvr32.exe

enter image description here

But when I reload the project it still cant find the reference.

I've also registered the .ocx with System32. Is this a windows 10 issue or am I missing something?

2
I note, Josh, that your error message refers to MSCOMM32.OCX, not MSCOMCTL.OCX. That's the Microsoft Communications Control. Might that be the actual source of your problem?BobRodes
Seems odd that a duffgrade to Windows 10 should break component registration, but perhaps it chases killbits assuming that only Trident uses these OCXs anymore. You'll probably want to do a clean install of Windows 10 (and everything else) anyway though. I wonder if these were never installed properly on Win7 and the registrations from the old user profile's VirtualStore were lost.Bob77

2 Answers

5
votes

The most probable reason for this error is that your project is looking for a newer version of MSCOMCTL.OCX than is installed by Visual Basic 6 (with Visual Studio 6 Service Pack 6).

You can verify the version of the typelib required by your project by opening the .vbp project file in a text editor. Look for a line like this one:

Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.2#0; MSCOMCTL.OCX

The 2.2 in the middle refers to the typelib version required. If you re-add the component reference and then save the project, you can go back to the .VBP file and see what typelib version is currently installed on your machine. (This will likely be version 2.0).

To get the latest typelib version (2.2):

  1. Install Visual Studio 6 Service Pack 6, if you haven't already.
  2. Install the January 2016 version of the Microsoft Visual Basic 6.0 Service Pack 6 Security Rollup Update.

This will give you version 6.1.98.46 of MSCOMCTL.OCX.

3
votes

The answer was that I had to go inside the project, Click projoect and then components and tick the Microsoft Common Controls. Clicked apply and restarted the project with a save.

Didn't relise it would disable it if you didn't have the registery and after you complete the registery on the .ocx file you then have to re-enable it.

enter image description here