I have a problem when deploying my application to Win7 x64 machines.
I reference several older dlls that are 32 bits and cannot be recompiled to x64.
My development machine is x86 so they work OK here. In all of the client machines running x64 I get the message:
"Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
at System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object >punkOuter, Int32 context, Guid& iid) at
System.Windows.Forms.AxHost.CreateWithLicense(String license, Guid clsid)
I tried changing all the target platform to x86 in visual studio 2010 and no avail.
I also tried registering the dlls in the client machine by using regsvr32 inside the "AppdData\Local\Apps\2.0…" installation folder but I get the error:
"The module "Module.dll" was loaded but the entry point-point DllRegisterServer was not found." for every single referenced dll. Even tried using a clean x64 machine and no.
These are the conflicting dlls(Related to Lead Tools multimedia library):
AxInterop.LTMMLib.dll
AxInterop.MSComctlLib.dll
AxInterop.MSComDlg.dll
(related to windows media player winforms control):
AxInterop.WMPLib.dll
I looked up many solutions online but none seem to work. Any input is greatly appreciated 🙂
Thanks in advance.
As pointed out in the comments, Windows media library was not the source of the problem.
Following Hans Passant recommendation, LEADTools (x86) was manually installed on the client machines and the problem was resolved.
Thanks everyone for your helpful comments. I can’t mark a comment as answer but here’s the quote: