我在windows7专业32位机器上创建dll,同样dll注册另一个32位windows7专业服务包1机器这个dll没有注册显示如下错误。
无法加载DLL'coredll.dll':找不到指定的模块。
如何解决相容性问题? 问候 纳拉辛哈
答案 0 :(得分:1)
加载DLL需要解析DLL的所有依赖项。您应该使用Dependency Walker获取所需的DLL列表。将Dependency Walker复制到目标计算机时,它应立即显示缺少的DLL。
从VC ++创建DLL时,通常需要VCxxRT(Visual C ++运行时)DLls。这些DLL有不同的版本。当您的目标机器未安装正确的版本时,您会收到此错误。
通过查看x86_microsoft.vcXX.crt_*
的C:\ Windows \ winsxs来检查已安装的版本。
编辑:Hans'评论是正确的。 coredll.dll是Windows CE DLL。使用需要coredll.dll的DLL运行regsvr32是没有意义的。您可以通过以下方式查看:
dumpbin /headers IPTCExt.dll | find "subsystem"