[CMake] Not matching versions of MSVC Runtime Libraries in Manifest
clinton at elemtech.com
clinton at elemtech.com
Tue Aug 9 15:27:03 EDT 2011
Here's my (not so complete) understanding...
Public assemblies are searched before private ones.
http://msdn.microsoft.com/en-us/library/aa374224(v=vs.85).aspx
So, on your machine, you have the required CRT libraires in the winsxs folder.
You also have a redirection that says to use a newer CRT library if a particular older one is requested.
If another machine that you copy this software to doesn't have a shared CRT that will work, it falls back to the one you copied next to your application.
So its a way to get updates and bug fixes to the CRT via windows updates, but still allow your application to work on older machines without the newer dlls, by using the ones you provided.
Clint
----- Original Message -----
> Yes, I think part of the issue is what is mentioned and I do have
> plugins (Qt based) and have taken the steps he lays out. But I am
> still curious as to why Dependency Walker says it is using one
> version of the runtime libraries when the Manifest (both external
> and embedded) says to use another. I am probably just missing
> something basic in all of this.
>
> ___________________________________________________________
> Mike Jackson www.bluequartz.net
> Principal Software Engineer mike.jackson at bluequartz.net
> BlueQuartz Software Dayton, Ohio
>
> On Aug 9, 2011, at 3:07 PM, Michael Wild wrote:
>
> > On Tue 09 Aug 2011 06:48:34 PM CEST, Michael Jackson wrote:
> >> Not sure if this is a CMake issue or not but I'll give it a shot.
> >> I am packaging up my application using CPack (zip) and all seems
> >> fine. I get the MSVC runtime libraries copied and the manifest
> >> file created and all seems to run just fine. If I use Dependency
> >> Walker to look at exactly _which_ C/C++ runtime DLLs are being
> >> loaded it seems to indicate a newer version than what the
> >> manifest is saying. My Application seems to be requesting version
> >> 9.0.21022.8 in its manifest and in the executable itself
> >> (Embedded Manifest) but Dependency Walker says it is really
> >> loading the 9.0.30729.490 version from the winsxs folder. I am
> >> still really new to this with Visual Studio so I am not sure if I
> >> am doing something incorrect when writing the CPack code,
> >> something in Visual Studio, how I compiled all the dependent
> >> libraries or what but any help or pushes in a better direction
> >> would be greatly appreciated.
> >>
> >> System: Windows 7 X64 Pro. Visual Studio 2008. Compiling
> >> everything as 64 bit. The actual executables can be downloaded
> >> from http://dream3d.bluequartz.net.
> >>
> >> Thanks in advance.
> >
> >
> > Not sure, but could it be the issue mentioned in Bills blog?
> >
> > http://www.kitware.com/blog/home/post/4
> >
> > Michael
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the CMake FAQ at:
> > http://www.cmake.org/Wiki/CMake_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.cmake.org/mailman/listinfo/cmake
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
More information about the CMake
mailing list