为什么这么多msvcp80.dll?

时间:2010-01-14 15:48:42

标签: windows dll installer visual-c++ windows-installer

我的电脑在不同的目录中有这么多msvcp80.dll。 并且有不同的版本:

8.00.50727.762
8.00.50727.1433
...

应用程序使用其Private Assemblies目录下的版本advantages

我还在c:\windows\system32下找到了msvcp80.dll的副本。

  1. 我可以找出安装了此c:\windows\system32\msvcp80.dll
  2. 的应用程序

    提前感谢您的回答和评论。

2 个答案:

答案 0 :(得分:5)

  1. 删除它。它无法在该位置使用。
  2. 不,这是一个可怕的做法,调用DLL地狱。它无论如何都不起作用。
  3. 是的,但是使用它的程序中的清单会阻止它。
  4. 查看VS2005 SP1和2009年7月安全更新知识库文章。

答案 1 :(得分:1)

  

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

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

  

2。我的应用程序依赖于msvcp80.dll。将msvcp80.dll分发到c:\ windows \ system32 \ msvcp80.dll是一个好习惯吗?为什么呢?

     

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

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

可以在MSDN上的Redistributing Visual C++ Files找到更多信息。