views:

188

answers:

2

My computer have so many msvcp80.dll in different directory. and there are different versions:

8.00.50727.762
8.00.50727.1433
...

applications uses the version under their directory as Private Assemblies with advantages.

And also I found a copy of msvcp80.dll under c:\windows\system32.

  1. Can I find out which application installed this c:\windows\system32\msvcp80.dll ?

Thanks for your answers and comments In advance.

+1  A: 

1. Can I find out which application installed this c:\windows\system32\msvcp80.dll ?

You could find out which application installed that version of msvcp80.dll but it would involve painful MSI-log reading.

2. My application depends msvcp80.dll. Is it a good practice to distribute msvcp80.dll to c:\windows\system32\msvcp80.dll? why?

3. when loaded unexpected version of msvcp80.dll or other dlls in Visual C++ Library, will my application be crashed? Can you give an example.

If you rely on msvcp80.dll, you can distribute it with your application and have it sit in your application local folder (next to your application exe). In this case it will be loaded instead of the version in system32 and you shouldn't have to worry about compatibility issues.

More information can be found at Redistributing Visual C++ Files on MSDN.

Richard Szalay
+1 for MSI-log, Thank you.
whunmr
+5  A: 
  1. delete it. It can't be used from that location.
  2. no, it is a horrible practice, invoking DLL Hell. It doesn't work anyway.
  3. yes, but the manifest in a program that uses it will prevent that.
  4. review the VS2005 SP1 and the July 2009 security update KB articles.
Hans Passant
Thanks very much.
whunmr