Solution from here
Windows 2008 R2 Datacenter Edition. Running regsvr32 mscomctl.ocx in C:\Windows\SysWOW64 resulted in success message “DllRegisterServer in mscomctl.ocx succeeded”.
However, our old VB 6.0 app continued to fail with the message “Run time error ‘339’ Component ‘MSCOMCTL.OCX’ or one of its dependencies is not correctly registered; a file is missing or invalid.”
The error was user-specific. The user who performed the install was able to execute the application, but other users were not. Ironically, running the application as administrator also failed.
Action: Unregistered mscomctl.ocx in SysWOW64, made a copy in C:\Windows, and registered the copy using the version of regsvr32 in SysWOW64. E.g., from a command line or batch file, running as administrator:
C:\Windows\SysWOW64\regsvr32 C:\Windows\mscomctl.ocx
Works.
—
I also had to copy MSCOMCT2.ocx to the windows folder and register it and now my terminal server is working fine.