I thought to add this here, as I actually went through a similar situation again with this annoying VirtualBox critical error com object, and found this step-by-step tips very helpful:
Go to your Start Menu / or wherever your VirtualBox is installed.
- Find the Oracle VirtualBox application in there.
Right click through it, and go to Properties.
- Under the Compatibility tab you can find an option (check box) to run the program in compatibility mode.
- Check that box if it's not already, and you will be given options to choose which Windows version you should make it compatible with.
- Pick one by one, from the most recent version (Windows 10) up to the oldest one, you will mostly find the VirtualBox you are running compatible with Windows 7 or Vista.
Apply & Save your changes and run VirtualBox.
Hope these new edits might be helpful to anyone out there, these are a bit more generic and might/might not work in all cases so for very custom solutions and cases probably you'll have to either go through the other solutions within this question page, or ask a related question specific to your case.
Thanks all for your answers above, unfortunately, none of your suggestions worked for me though they really guided me through to find the cause of the problem and how to solve it.
I've re-registered the service, but that only allowed the VirtualBox to run. And then when running a VM in VirtualBox it fails and crashes. I've checked the logs to find that the log stops after Loading the file comctl32.dll. that gave me the hint that some windows update messed up that file.
So, unfortunately, the only solution that worked for me is repairing windows 7. and it did work after that.
For anyone interested, you can as well restore to some backup point before installing the updates (that if you suspect any update to cause that).
And of course, the only way possible to avoid such trouble in the future is disabling Windows updates.
Note: I tried all different older & newer versions of Virtual Box, and every time I've encountered that issue so for sure it's not a bug in VirtualBox. so no need to report that to VirtualBox forums.