@Jayant Gupta:
Fix: Component ‘MSCOMCTL.OCX’ or one of its dependencies not correctly registered: a file is missing or invalid. If the issue is with your Computer or a Laptop you should try using Reimage Plus which can scan the repositories and replace corrupt and missing files. I am using mscomm32.ocx with Visual C for serial communications and have been for years. With windows 10, I am unable to read data from any comm port. I have looked all over and it seems that no one is saying that it is working for them either. Several people have changed tools to resolve. Hi It is not clear that what kind of application you had.
The problem occurs when you wrote programs in VB6 and used the ActiveX runtime files COMDLG32.OCX, MSCOMCTL.OCX (and others). When you try to open a compiled version on win7 or later, you get errors saying these ActiveX files are missing or not registered. Portable VB6 (dunno where I got that) has the same problem so it's not limited to compiled code.
@ MichaelPageUSMC
On windows 7, these files are present but not yet registered. In Win10 they are not even present anymore. I can not say if Win8 is like win7 or win10, but it matters not. The solution is the same! If you encounter problems, read the notes in the second List
- Essential is to first find out if you have an x86 (32bits) or x64 (64 bits) version of Windows. For the x86 you have to work with the folder System32, whereas the x64 solution involves SysWOW64 instead.
- Locate the missing files anywhere. Old systems, install discs, installer folder for your progams. Any copy works! You will need them.
- Go to the folder where Windows is installed, usually C:Windows. If your OS is 32bits, go into System32. For 64-bits dive into SysWOW64. If not there already, then paste the files mentioned in step 2.
- Now you need to tell Windows to find them and use them. The basic command for that looks like this: regsvr32.exe 'C:WindowsSysWOW64COMDLG32.OCX'. For x86 use System32 instead of SysWOW64 in the command. See notes below if this step fails.
- For each command entered you should receive the message back that registering was a success. After you registered all the files you need, the program should work.
Troubleshooter:
- Cannot find out if you have 32bits or 64bits? Press the Windows button plus Pause/Break (next to F12) to open System. You can also navigate there from Control Panel - System (classic view) or Control Panel - System and Security - System (big icons). At 'type of system' it says 32bits or 64bits operating system.
- If you cannot locate the files you need, look for an installer for VB6 runtime files on MicroSoft's website. I think the filename is vbrun60sp5.exe but not certain.
- The files should be placed in mentioned folders, not in any of their subfolders or in the parent folder, Windows. This should not be a hard part.
- Run (Windows+R) may give an error on this command. An elevated command prompt (Control+Shift+Escape to open TaskManager, then hold down Control while pressing 'File - New process') should not. If even an elevated prompt does yield error messages, it may be needed to first give the command 'regsvr32 wmnetmgr.dll' in the elevated prompt. But only ONCE!. Then retry the other commands. If that fails too, please report back here with all of the error messages you have received, in full.
It would be smart to copy/paste above instructions into a textfile on your harddrive. Keep it near a spare copy of the ActiveX files and the VB6 runtime installers you may or may not have needed, and a few more files like VB6.0-KB290887-X86 (don't recall what it was for, though) and the update Jayant mentioned, https://support.microsoft.com/en-us/kb/896559. All that if you ever had to re-install, then you got all you need to fix the problem once again.