[CMake] Not matching versions of MSVC Runtime Libraries in Manifest

2011-08-09 Thread Michael Jackson
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.
___
Mike Jackson  www.bluequartz.net
Principal Software Engineer   mike.jack...@bluequartz.net 
BlueQuartz Software   Dayton, Ohio

___
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


Re: [CMake] Not matching versions of MSVC Runtime Libraries in Manifest

2011-08-09 Thread Michael Jackson
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.jack...@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


Re: [CMake] Not matching versions of MSVC Runtime Libraries in Manifest

2011-08-09 Thread clinton

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.jack...@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
 
___
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


Re: [CMake] Not matching versions of MSVC Runtime Libraries in Manifest

2011-08-09 Thread David Cole
On Tue, Aug 9, 2011 at 3:27 PM,  clin...@elemtech.com wrote:

 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.jack...@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

 ___
 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


Thanks for this pointer, Clinton. I'll add a comment to Bill's blog
article that also points to this Microsoft page... Good reference.

:-)
David
___
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


Re: [CMake] Not matching versions of MSVC Runtime Libraries in Manifest

2011-08-09 Thread David Partyka
Very cool!

+1

On Tue, Aug 9, 2011 at 3:28 PM, David Cole david.c...@kitware.com wrote:

 On Tue, Aug 9, 2011 at 3:27 PM,  clin...@elemtech.com wrote:
 
  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.jack...@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
 
  ___
  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
 

 Thanks for this pointer, Clinton. I'll add a comment to Bill's blog
 article that also points to this Microsoft page... Good reference.

 :-)
 David
 ___
 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

Re: [CMake] Not matching versions of MSVC Runtime Libraries in Manifest

2011-08-09 Thread Michael Jackson


On Aug 9, 2011, at 3:30 PM, David Partyka wrote:

 Very cool! 
 
 +1
 
 On Tue, Aug 9, 2011 at 3:28 PM, David Cole david.c...@kitware.com wrote:
 On Tue, Aug 9, 2011 at 3:27 PM,  clin...@elemtech.com wrote:
 
  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
 
  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
 
 
 Thanks for this pointer, Clinton. I'll add a comment to Bill's blog
 article that also points to this Microsoft page... Good reference.
 
 :-)
 David
 

Thanks for all the explanations and web links. I think I have a better 
understanding of what is going on and how things are getting loaded. I'll talk 
to my customer about some more testing to make sure the changes I made 
corrected the loading bug.

--
Mike Jackson www.bluequartz.net
___
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