[issue449] Win32 installer puts CRTL dll in wrong place

Larry Hastings mercurial-bugs at selenic.com
Tue Dec 12 09:47:07 CST 2006

New submission from Larry Hastings <larryathg at hastings.org>:

The current Win32 Mercurial installer (0.9.1-a27d90c9336e) available at
mercurial.berkwood.com attempts to install msvcr71.dll in the Windows system
directory (commonly "C:\Windows\System32").  This is bad form, and has been for
about eight years now; Microsoft recommends installing these DLLs into your
application's own directory.

For current best practices, please see Microsoft Knowledge Base article #326922,
"Redistribution of the shared C runtime component in Visual C++ 2005 and in
Visual C++ .NET".

Also of interest is "DLL/COM redirection", which would help ensure that
Mercurial only sees the msvcr71.dll it installs locally.  See section "DLL/COM
redirection" in the article "Implementing Side-by-Side Component Sharing in
Applications (Expanded)":
and, for a more informal discussion, "The End of DLL Hell":
To summarize this approach, just install msvcr71.dll in the Mercurial directory,
then touch two extra files in the Mercurial directory: "hg.exe.local" and

assignedto: lcantey
messages: 2519
nosy: lcantey, lch
priority: bug
status: unread
title: Win32 installer puts CRTL dll in wrong place

Mercurial issue tracker <mercurial-bugs at selenic.com>

More information about the Mercurial-devel mailing list