我有一个旧应用程序,它使用旧的 CDONTS 邮件对象,我正尝试将其移动到新服务器,该服务器恰好运行 64 位版本的 Windows 2003。大约一百万次,我已将其安装在 2003 的其他(32 位)实例上,通过将 C:\windows\system32\cdonts.dll 从现有计算机复制到新服务器上的相同文件夹,然后运行:
regsvr32.exe C:\WINDOWS\system32\cdonts.dll
但是,当我在此服务器上运行它时,我得到:
LoadLibrary("C:\WINDOWS\system32\cdonts.dll") failed - The specified module could not be found.
论坛上的建议指出我应该明确运行 C:\WINDOWS\SysWOW64\regsvr32.exe,但这出现了同样的错误。
互联网上的其他帖子表明,此错误有时意味着 dll 的版本对于该版本的 Windows 来说太低,但我不确定在哪里可以获得更新的版本。
有什么方法可以让我不用重新编码就能让它工作吗?
答案1
尝试将 cdonts.dll 放入 %windir%\syswow64\,然后从 \syswow64 运行 regsvr32.exe,看看是否有效。
32 位应用程序实际上将 \system32 视为 \syswow64,而 64 位应用程序看到的是真正的 \system32。