Migrating a legacy Visual Basic application from Windows 2000 to Windows 2008 R2, I get the error
Component 'MSCOMCTL.OCX' or one of its dependencies not correctly
registered: a file is missing or invalid
Installing VisualBasic6-KB896559-v1-ENU.exe didn't help
For some reason MSCOMCTL.OCX didn't get copied / registered to the correct folder when installing the downloaded runtime VisualBasic6-KB896559-v1-ENU.exe.
These manual steps fixed it
- Use 7-Zip to unpack VisualBasic6-KB896559-v1-ENU.exe
- Copy the contents to %systemroot%\SysWow64
From command line, execute
%systemroot%\SysWoW64\regsvr32.exe %systemroot%\SysWOW64\mscom
ctl.ocx
Try running your archaic Visual Basic app again!