Register comdlg32.dll gets Regsvr32: DllRegisterServer entry point was not found

disasterkid picture disasterkid · Dec 18, 2012 · Viewed 524.2k times · Source

I have Windows 7, 64-bit.

I'm trying to register a .dll (comdlg32.dll) using regsvr32. But I get an error that says the dll is read but the DLLRegistryServer entry point is not found.

I have run the command under both System32 and SysWOW64 and I have run my commands with "Run As Administrator".

My old MSComDlg.CommonDialog component is no longer working with 64-bit.

Answer

selbie picture selbie · Dec 19, 2012

comdlg32.dll is not a COM DLL and cannot be registered.

One way to confirm this for yourself is to run this command:

dumpbin /exports comdlg32.dll

You'll see that comdlg32.dll doesn't contain a DllRegisterServer method. Hence RegSvr32.exe won't work.

That's your answer.


ComDlg32.dll is a a system component. (exists in both c:\windows\system32 and c:\windows\syswow64) Trying to replace it or override any registration with an older version could corrupt the rest of Windows.


I can help more, but I need to know what MSComDlg.CommonDialog is. What does it do and how is it supposed to work? And what version of ComDlg32.dll are you trying to register (and where did you get it)?