我在 windows7 专业 32 位机器上创建 dll,相同的 dll 注册另一个 32 位 windows7 专业服务包 1 机器这个 dll 未注册显示以下错误。
无法加载 DLL 'coredll.dll':找不到指定的模块。
如何解决兼容性问题?问候纳拉辛哈
我在 windows7 专业 32 位机器上创建 dll,相同的 dll 注册另一个 32 位 windows7 专业服务包 1 机器这个 dll 未注册显示以下错误。
无法加载 DLL 'coredll.dll':找不到指定的模块。
如何解决兼容性问题?问候纳拉辛哈
加载 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"