我用ATL 2008创建了一个简单的COM对象。我可以成功地在我的机器上注册dll并使用它。
但是,我尝试用XP安装的机器注册dll,其中安装了no和安装了2008。但这似乎不可行。
然后,我安装了VC 2008可再发行的SP1,并尝试了。但是注册失败了。
然后,我对dll进行了静态构建,并尝试使用同一台机器,但仍然没有成功。
你能帮我弄清楚这是怎么回事吗?
谢谢
编辑
我发现ATL dll可以通过以下运行库重新分发
VC\redist\x86\Microsoft.VC90.ATL\
atl90.dll,Microsoft.VC90.ATL.manifest
知道把这些文件放在客户端机器的哪里吗?
编辑
在尝试了许多方法之后,最后我为ATL和MFC做了一个静态构建。令人惊讶的是它起了作用。但是我没有在ATL dll中使用任何MFC库,请有人解释一下,为什么需要MFC库?
发布于 2010-02-24 03:49:04
在Visual文件夹中,应该有一个名为depends.exe的工具
使用它来在机器上加载ATL dll,如果它失败了,它应该会告诉您是否有任何丢失的dll。
发布于 2010-02-24 04:00:00
您可能需要确保安装了正确的vc2008运行时,我的计算机上有4台:
您可以检查dll所依赖的版本的.manifest文件。并确保将.manifest文件与dll一起发送,除非您知道如何不依赖它。
https://stackoverflow.com/questions/2323538
复制相似问题