[CMake] InstallRequiredSystemLibraries.cmake and Redistribution of the shared C runtime component in Visual C++

James Bigler jamesbigler at gmail.com
Thu Aug 20 16:06:10 EDT 2009


On Thu, Aug 20, 2009 at 1:51 PM, Mike Jackson
<mike.jackson at bluequartz.net>wrote:

> On Thu, Aug 6, 2009 at 3:12 PM, Marcus D. Hanwell<marcus at cryos.org> wrote:
> > James Bigler wrote:
> >> On Thu, Aug 6, 2009 at 12:10 PM, Bill Hoffman
> >> <bill.hoffman at kitware.com <mailto:bill.hoffman at kitware.com>> wrote:
> >>
> >>     James Bigler wrote:
> >>
> >>
> >>         Well, I was using VS 2005 64 bit with SP 1.  I wonder if there
> >>         is a similar bug or if there is something else going wrong
> >>         such as what Marcus Hanwall described.
> >>
> >>
> >>     I am not sure what your issue is, but I know I have done this many
> >>     times...
> >>
> >>     -Bill
> >>
> >>
> >> I checked the version numbers of the DLLs, and even checked the md5sum
> >> and everything was the same between the dlls in the WinSxS folder and
> >> the ones I'm distributing.  It failed on two clean systems without the
> >> vcredist install.  I guess I'll run vcredist as Microsoft suggests and
> >> see if I can trouble shoot later.
> >>
> >> It is a rather perplexing problem.
> >>
> > The link Bill supplied has all of the relevant information. In the
> > "Community Discussion" section the second comment provides three
> > possible workarounds. We are using the third of those when distributing
> > Avogadro packages for Windows. The version mismatch in the manifests of
> > the compiled executables and the manifest with the redistributable DLLs
> > is what causes the issue.
> >
> > It seems that MS has no intention of fixing this issue. We have a clean
> > VM where we test new installers, as occasionally this change was lost
> > and the DLLs failed to load.
> >
> > Marcus
>
> Ok, so I too have run into this problem. What is anyone doing to get
> around this issue?
>
> I would really like a solution that did NOT involve editing anything
> from VC++ install as I would have to pass those instructions on to the
> next Developer. Clinton's posting about including the VCRedist.exe in
> the NSIS installer is OK by me. Is that what everyone else is doing?
>
> Thanks
> --
> Mike Jackson
>

I ended up linking against the static CRT library (/MT), but that's not for
everyone.
http://msdn.microsoft.com/en-us/library/ms235460.aspx

My next choice was going to be including the VCRedist.exe in the installer.
For some of the other projects at my company, this is what they do.

Here are some links I've been consulting on the subject of CRT library
(conflicts with multiple CRTs).
http://stackoverflow.com/questions/1075050/howto-multiple-versions-of-msvcrt9-as-private-sxs-assemblies
http://tedwvc.wordpress.com/2009/08/10/avoiding-problems-with-vc2005-sp1-security-update-kb971090/
http://stackoverflow.com/questions/1265792/visual-studio-2005-security-updates-and-crt-dll-versions-in-manifest

James
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090820/96bcb54f/attachment-0001.htm>


More information about the CMake mailing list