ATL Dll无法注册XP

时间:2010-02-24 03:44:24

标签: windows com dll

我使用ATL VS 2008创建了一个简单的COM对象。我可以在我的机器中成功注册dll并使用它。

但是,我尝试在装有 VS 2008的XP安装的机器上注册dll。但这似乎并不奏效。

然后,我安装了VC 2008可再发行的SP1,并尝试了。注册失败了。

然后,我做了一个静态构建的dll并尝试使用相同的机器但仍然没有成功。

你能帮我弄清楚这里发生了什么吗?

谢谢

修改

我发现可以使用以下运行时库重新分发ATL dll

\ VC \ REDIST \ 86 \ Microsoft.VC90.ATL \
 atl90.dll,  Microsoft.VC90.ATL.manifest

知道将这些文件放在客户端计算机中的哪个位置?

修改

经过多次尝试,最后我为ATL和 MFC 做了静态构建。 令人惊讶的是它有效。但我没有在ATL dll中使用任何MFC库,可以 有人请解释,为什么需要MFC库?

2 个答案:

答案 0 :(得分:1)

在Visual Studio工具文件夹中应该是一个名为depends.exe

的工具

使用它将ATL dll加载到失败的机器上,它应该告诉你是否有任何缺失的dll。

答案 1 :(得分:0)

您可能需要确保安装了正确的vc2008运行时, 我的机器上有4个:

  • 9.0.21022,
  • 9.0.30729,
  • 9.0.30929.17,
  • 9.0.3.30729.4148。

您可以查看.manifest文件,了解您的dll所依赖的版本。并确保将.manifest文件与dll一起发送,除非您知道如何不依赖它。