I frequently hit this on my Win7/Vista machines when I run executables that were built from VB6, the following error message appears:
Component ‘filename’ or one o its dependencies not correctly registered: a file is missing or invalid.
The problem is caused by a component or a dependency file used in this executable is not correctly registered or is missing from the system. The resolution is copy the file from another computer that does not experience this problem and register it.
I wrote step by step instructions on how to resolve this problem in this post. It uses comdlg32.ocx as example but instructions also apply for other VB6 component file like richtx32.ocx, mscomctl.ocx, tabctl32.ocx and so on