2010-01-14 52 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