Link to home
Start Free TrialLog in
Avatar of alfatech1
alfatech1Flag for United Kingdom of Great Britain and Northern Ireland

asked on

Run time Error, missing comdlg32.ocx file

One of our users is getting this error when running an application and getting to a certain point.

It comes up with 'Run-Time Error '339' Component 'comdlg32.ocx' not correctly registered: File is missing or invalid.'

Now I have followed the instructions on similar posts and have downloaded the comdlg32.ocx file and ran 'regsvr32 c:\windows\system32\comdlg32.ocx'.

This brings up a success message when run, however, the application still throws up the error!
I carried out the same procedure on another laptop with the same issue and it worked fine.

Any ideas on what else I could try out?
ASKER CERTIFIED SOLUTION
Avatar of torimar
torimar
Flag of Germany image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
You can try to run depends.exe, it fixed a similar problem for me a month ago:
http://www.dependencywalker.com/

SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of alfatech1

ASKER

Thanks for the suggestions, I will give these a try and let you know how I get on.
@Fiuca:
The dependency walker is indeed a nice programme, and I've always liked it a lot, but it displays the version numbers of the depending libraries as they are installed on your system, it does not show the exact version number of a library that the examined executable was compiled with.

The only way I know of that will give you the exact version number of a library that was used while developing an application is by looking at the setup.LST file produced by the Deployment Wizard. This can, of course, only be done on the system where the application was compiled, viz. by its programmer.

The Dependency Walker may be used to troubleshoot an .ocx/.dll that won't register (by exploring and profiling regsvr32.exe as explained here: http://www.dependencywalker.com/faq.html), but in the present case the control registers ok, so no use either.
Tried downloading a newer version of comdlg32.ocx and registered this file but it still comes up with the same error message - 'comdlg32.ocx not correctly registered'.

Have downloaded and ran dependency walker. Ran depends.exe and opened the comdlg32.ocx file and it had reported 2 errors/warnings. The first was a missing msjava.dll file, which I have now downloaded and copied to the system32 folder. The other warning I am not sure about, so need a little help with this:

It is coming up with 'Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.' for file 'c:\windows\system32\MPR.DLL'.

How do I fix this one? Also, do I need to register the msjava.dll file or is it enough just to copy it to the system32 folder which I have already done?

Thanks
Hi have sorted it now. I had another user log onto the laptop and the application worked fine for them.

Recreated the affected users' profile and it has fixed the run-time error.

Thanks for your inputs, I will spread the points out equally.