2010-01-14 28 views
0

我的电脑在不同的目录下有这么多的msvcp80.dll。 并有不同的版本:为什么这么多msvcp80.dll?

8.00.50727.762 
8.00.50727.1433 
... 

应用程序使用他们的目录Private Assembliesadvantages下的版本。

而且我还发现了c:\windows\system32下的msvcp80.dll的副本。

  1. 我可以知道安装了哪个应用程序c:\windows\system32\msvcp80.dll

感谢您的回答和意见提前。

回答

5
  1. 删除它。它不能在该位置使用。
  2. 不,这是一个可怕的做法,调用DLL地狱。反正它不起作用。
  3. 是的,但是在使用它的程序中的清单会阻止这种情况发生。
  4. 查看VS2005 SP1和2009年7月安全更新知识库文章。
+0

非常感谢。 – whunmr 2010-01-15 04:29:13

1

1.我可以找出安装了这个c:\ windows \ system32 \ msvcp80.dll的应用程序吗?

你可以找到哪个应用程序安装了该版本的msvcp80.dll,但它会涉及痛苦的MSI日志阅读。

2.我的应用程序依赖于msvcp80.dll。将msvcp80.dll分发到c:\ windows \ system32 \ msvcp80.dll是否是一种好的做法?为什么?

3.当在Visual C++ Library中加载msvcp80.dll或其他dll的意外版本时,我的应用程序是否会崩溃?你能给个例子吗。

如果依靠msvcp80.dll,你可以用你的应用程序分发,并让它坐在你的应用程序的本地文件夹(旁边的应用程序的EXE)。在这种情况下,它将被加载而不是system32中的版本,你不必担心兼容性问题。

有关详细信息,请参阅MSDN上的Redistributing Visual C++ Files

+0

+1对于MSI-log,谢谢。 – whunmr 2010-01-15 04:30:26