I have a legacy application that makes use of the old CDONTS mail object that I'm trying to move to a new server, which happens to be running the 64-bit version of Windows 2003. About a million times, I have installed it on other (32-bit) instances of 2003 without a hitch by copying the C:\windows\system32\cdonts.dll from an existing machine to the same a folder on the new server then running:

regsvr32.exe C:\WINDOWS\system32\cdonts.dll

However, when i run it on this server I get:

LoadLibrary("C:\WINDOWS\system32\cdonts.dll") failed - The specified module could not be found.

A suggestion on a forum stated I should explicitly run C:\WINDOWS\SysWOW64\regsvr32.exe but this had the same error.

Other posts around the internet suggest that this error can sometimes mean the version of the dll is too low for that version of windows, but I'm unsure of where to get a newer one.

Is there any way I can get this working without recoding?


Try putting cdonts.dll in %windir%\syswow64\, then running regsvr32.exe from \syswow64 and see if that works for you.

32-bit apps see \system32 really as \syswow64, while the 64-bit apps see the real \system32.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.