Jesper said:
Yep, but applications are not supposed to load them from there. They will,
because of how the DLL search order works, but that's not where they are
supposed to come from. If you write an application without the /MD switch
in
the linker and take it, without msvcr71.dll, to a system that has never
had
VS installed the app will fail. Those files are not shipped with the OS,
and
hence, have no defined location they should live.
While your main point is correct, your comment about the search order is not
( beginning with xp sp2):
http://msdn2.microsoft.com/en-us/library/ms682586.aspx
If SafeDllSearchMode is enabled, the search order is as follows:
1.. The directory from which the application loaded.
2.. The system directory. Use the GetSystemDirectory function to get the
path of this directory.
3.. The 16-bit system directory. There is no function that obtains the
path of this directory, but it is searched.
4.. The Windows directory. Use the GetWindowsDirectory function to get the
path of this directory.
5.. The current directory.
6.. The directories that are listed in the PATH environment variable. Note
that this does not include the per-application path specified by the App
Paths registry key.
So this application will correctly load the dlls shipped with the
application.