PDA

View Full Version : MSCOMCTL.OCX on Windows 10



torrid
10-15-2015, 10:19 AM
I have an old VB6 program that is still going strong on all versions of Windows.
EXCEPT on Windows 10 we are having a conflict with the MSCOMCTL.OCX.

Apparently there is a newer version of the control released way after the vbrun sp6 installer
and the MS Office installers are installing that version onto Windows 10 but our software doesn't recognize it.

Should I just download a copy of the newer version and manually install and register it?
Should we just mark it for use on Windows 10?

Our program is not recognizing the Office installed MSCOMCTL as being there so our application
then crashes immediately trying to build the main window.

Thanks in advance for any suggestions! I searched these forums first but only found the security bulletin post.
-Tim

linder
10-16-2015, 05:09 AM
Hello,

The problem is that if there is a newer version of MSCOMCTL available than the one your own application is compatible with then you are out of luck. You should never "downgrade" a file during the installation process (because this might kill installed working applications).

Does Office register the MSCOMCTL? Perhaps the file is not registered?

Friedrich

torrid
10-21-2015, 01:51 PM
I don't know if they register it. I'm guessing they do because isn't that what prevents my installer from installing a downgraded version?

How do I tell my program to use any version of MSCOMCTL but not a specific version? Is that in Visual Basic
or is that with SetupBuilder?

linder
10-22-2015, 02:23 AM
Hello,

Welcome to the old DLL Hell <g>. This is in Visual Basic, not in SetupBuilder. You have to find out (in your VB program) what kind of incompatibility issue it has (if any!) with newer versions of MSCOMCTL.OCX. Note: most MSCOMCTL.OCX errors are related to a missing, corrupt, or unregistered MSCOMCTL component.

BTW, you can install a downgraded version by setting the replacement option in SetupBuilder to "Always". But of course, this will only work if the file to be replaced is not protected by Windows. Windows File Protection (WFP) prevents programs from replacing critical Windows system files. Programs must not overwrite these files because they are used by the operating system and by other programs. Protecting these files prevents problems with programs and the operating system.

If the file is not protected by WFP and you downgrade the existing .OCX then it is very well possible that existing applications stop working. That's why you should never downgrade existing components.

Friedrich