-1

我正在创建 COM 对象 dll。当我将它带到 WIN XP 32 位机器并尝试注册时,我收到消息: LoadLibrary ... failed. The specified module could not be found.

当我用dependency walker查看它时,我发现缺少3个dll:

ATL100.dll
MSVCR100D.DLL
DWMAPI.DLL

解决这个问题的方法有哪些?而且我不喜欢这样一个事实,即当我将这个 COM dll 安装给我的客户时,我还需要将丢失的 dll 放在一起。

4

1 回答 1

1

您需要在客户端计算机上安装MS VC++ 2010 可再发行包

您还应该将您的程序与 redist 包的发布版本相关联,并且不要分发 VC++ 运行时 (msvcr100d.dll) 的调试版本,因为它的发布版本是 VS2010 可再发行包的一部分,如此处所述。ATL100.dll 也是该包的一部分。MS 对哪些 dll 可以与应用程序一起分发有严格的政策。以前有关 DWMAPI.DLL的帖子将有助于解决该问题。

于 2012-08-13T12:15:53.837 回答