我在VS2012中创建了一个COM ATL DLL。
当我让IDE编译它时,它会自动注册,我可以在我的开发者机器上使用它。
我尝试在干净的XP机器上注册DLL,并且regsvr32.exe返回
“LoadLibrary(”MyDll.dll“)失败。找不到该模块。”
我以为我创建了一个普通的COM DLL,而不是托管DLL,所以我想我可以使用regsv32.exe注册它,而不是REGASM。
我用“Multithreaded(/ MT)”选项编译了DLL,所以我想我不需要安装C ++运行时,对吧?
使用ProcMon我看到regsvr32.exe查找“atl110.DLL”。 我是否需要分发它,虽然我选择了“多线程(/ MT)”?
有没有人有任何想法我可能做错了什么?
感谢您的帮助。
编辑:抱歉,我首先错误输入了错误消息。
答案 0 :(得分:2)
我已从
更改了项目属性配置 - >常见 - >使用ATL:“动态链接到ATL”到“静态链接到ATL”。
这完成了这项工作。