visual c++ - Cannot register COM DLL built with VS2012/VC++ on 32-bit machine -
i built c++ based com object using visual studio 2012. registers , works fine on 64-bit machines (called 32-bit code , calling 32-bit out-of-process com server) not register on 32-bit machines (neither xp nor win7 32-bit). message regsvr32 is loadlibrary("comobj.dll") failed - specified procedure not found. the project built visual studio 6 (7 years ago). uses atl macros such begin_com_map , begin_sink_map declare implementation of various interfaces. had re-compiled because com server invoking changed (new progid, new guid, new type library, etc). other making adjustments, , using current vs, there no (intentional) changes -- there nothing in old equivalent of project file have pointed 64-bitness. examining dll 64-bit version of depends.exe shows "64" icons next standard referenced dlls kernel32 , user32. other having built dll on 64-bit machine, there nothing "64-bit" dll can find. target explicitly win32 (not x64). examining dll 32-bit versi...