0

我在 windows7 专业 32 位机器上创建 dll,相同的 dll 注册另一个 32 位 windows7 专业服务包 1 机器这个 dll 未注册显示以下错误。

无法加载 DLL 'coredll.dll':找不到指定的模块。

在此处输入图像描述

如何解决兼容性问题?问候纳拉辛哈

4

1 回答 1

1

加载 DLL 需要解析 DLL 的所有依赖项。您应该使用 Dependency Walker 来获取所需的 DLL 列表。当您将 Dependency Walker 复制到目标计算机时,它应该立即显示丢失的 DLL。

当您从 VC++ 创建 DLL 时,它通常需要 VCxxRT(Visual C++ 运行时)DLL。这些 DLL 有不同的版本。当您的目标机器没有安装正确的版本时,您会收到此错误。

通过查看 C:\Windows\winsxs 来检查已安装的版本x86_microsoft.vcXX.crt_*

编辑:汉斯的评论是正确的。coredll.dll 是一个 Windows CE DLL。在您的 PC 上使用需要 coredll.dll 的 DLL 运行 regsvr32 是没有意义的。您可以通过以下方式检查:

dumpbin /headers IPTCExt.dll | find "subsystem"
于 2013-01-10T12:08:51.510 回答