OK. Turns out it was ITK being compiled in Debug mode and then trying to link against it with a Release build.
On to some comments that might help others: VCExpress 2008 SP1 does NOT come with VCRedist_x86.exe. You will need to download the correct version. VCExpress 2008: <http://www.microsoft.com/downloads/details.aspx?FamilyID=D5692CE4-ADAD-4000-ABFE-64628A267EF0&displaylang=en> VCExpress 2008 SP1: <http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=en> Double and Triple check that all your projects and sub projects have all been compiled the same way (Debug vs Release) and all with the same settings for the c/c++ runtime libraries. In order to re-use Clinton's code I had to create a few directories: C:\Program Files\Microsoft Visual Studio 9.0\SDK\v3.5\BootStrapper\Packages\vcredist_x86 needs to be created (so that it matches the VS2005 paths). Next I created a Macro: macro(_FIND_MSVC_REDIST VCVERS) message(STATUS "Looking for MSVC Redistributable Executable for MSVC Version ${VCVERS}") set(SDKVERS "2.0") if(${VCVERS} EQUAL 8) set(SDKVERS "2.0") endif() if(${VCVERS} EQUAL 9) set(SDKVERS "3.5") endif() IF(MSVC${VCVERS}0) FIND_PROGRAM(MSVC_REDIST NAMES vcredist_${CMAKE_MSVC_ARCH}/vcredist_${CMAKE_MSVC_ARCH}.exe PATHS "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VCExpress\\${VCVERS}.0;InstallDir]/../../SDK/v${SDKVERS}/BootStrapper/Packages/" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\${VCVERS}.0;InstallDir]/../../SDK/v${SDKVERS}/BootStrapper/Packages/" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\VisualStudio\\${VCVERS}.0;InstallDir]/../../SDK/v${SDKVERS}/BootStrapper/Packages/" ) GET_FILENAME_COMPONENT(vcredist_name "${MSVC_REDIST}" NAME) INSTALL(PROGRAMS ${MSVC_REDIST} COMPONENT SupportFiles DESTINATION bin) SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "ExecWait '\\\"$INSTDIR\\\\bin\\\\${vcredist_name}\\\"'") message(STATUS "MSVC_REDIST: ${MSVC_REDIST}") ENDIF(MSVC${VCVERS}0) endmacro() The have the following: if(MSVC80) _FIND_MSVC_REDIST(8) endif() if(MSVC90) _FIND_MSVC_REDIST(9) endif() I would like to add sometime in the future the correct command to run the vcredist silently during the installation. I think that is all. I would also like to thank everyone here for their patience with me today. Also like to put in a word to the VirtualBox guys at Sun. The make really nice FREE virtual machine which allowed the quick testing of the installer on a "Clean" Windows XP SP3 install. Thanks _________________________________________________________ Mike Jackson mike.jack...@bluequartz.net On Thu, Aug 20, 2009 at 7:05 PM, Mike Jackson<mike.jack...@bluequartz.net> wrote: > Yep. First thing I have tried, and have been using all day. I think I > may have tracked part of the problem down to a few things. > > 1: vcredist_x86.exe - There are multiple versions of this (all with > the same file name). You have to make sure you download the correct > version. I have VCExpress 2008 SP1. I was downloading the one for > VCExpress 2008. > > 2: I think I have ITK built as Debug and I am trying a "Release" build > of my main application suite. We all know that Debug and Release > builds in Windows-Land do not get along. > > Boost may be another unknown (bjam.. yeech..). Far as I know I told > bjam to use a dynamically linked c runtime. > > Expat, HDF5, Tiff all are built as static libraries using CMake so the > default there is to use a dynamic linked c runtime. So I think those > libraries are OK. > > My own intermediate library (MXADataModel) is also built as a static > library and using CMake. So should be the same as Expat, HDF5 and Tif > from above. > > Does not seem to be a redistributable package for the Debug versions > of the C/C++ runtime libs. Bummer. > > Qt 4.5.1 is built as DLL's so I am hoping that will not hinder me as > everything else is built as Static libraries (to try and avoid DLL > hell .. ) > > ITK is currently rebuilding which will take another hour or so. I'll > report back when that is complete maybe with some good > _________________________________________________________ > Mike Jackson mike.jack...@bluequartz.net > > On Thu, Aug 20, 2009 at 6:57 PM, j s<j.s4...@gmail.com> wrote: >> Did you try the dependency walker (available via google) to see if there may >> be any dll's you need to have in the same directory as the binary? >> >> Regards, >> >> Juan >> >> On Thu, Aug 20, 2009 at 5:03 PM, Mike Jackson <mike.jack...@bluequartz.net> >> wrote: >>> >>> So I "created" the proper paths within the VCExpress installation and >>> placed the downloaded vcredist_x86.exe file in there. CMake found it. >>> NSIS found it and included it. I ran my new installer on a "clean" XP >>> SP3 machine. Verified the vcredist.exe actually ran also. Tried to >>> launch an application and I still get an error that says the >>> application is not configured correctly. >>> >>> Still lost and Confused. >>> >>> Mike >>> >>> On Thu, Aug 20, 2009 at 5:40 PM, j s<j.s4...@gmail.com> wrote: >>> > I don't believe that to be the case with Visual Express 2008. I don't >>> > know >>> > how previous editions work. >>> > >>> > Can I use Express Editions for commercial use? >>> > >>> > Yes, there are no licensing restrictions for applications built using >>> > Visual >>> > Studio Express Editions. >>> > >>> > http://www.microsoft.com/express/support/faq/ >>> > >>> > Juan >>> > >>> > >>> > >>> > On Thu, Aug 20, 2009 at 4:33 PM, David Cole <david.c...@kitware.com> >>> > wrote: >>> >> >>> >> Hold on there... >>> >> The Express editions are not meant to build redistributable binaries. >>> >> They're meant for personal use: i.e. -- each user compiles his own >>> >> code. I'm >>> >> pretty sure it's a violation of the Express edition license agreement >>> >> to >>> >> build binaries for other people. You need at least the "Standard" >>> >> edition of >>> >> VS to get that capability. >>> >> >>> >> >>> >> HTH, >>> >> David >>> >> >>> >> On Thu, Aug 20, 2009 at 5:11 PM, Mike Jackson >>> >> <mike.jack...@bluequartz.net> wrote: >>> >>> >>> >>> On Thu, Aug 20, 2009 at 4:06 PM, James Bigler<jamesbig...@gmail.com> >>> >>> wrote: >>> >>> > On Thu, Aug 20, 2009 at 1:51 PM, Mike Jackson >>> >>> > <mike.jack...@bluequartz.net> >>> >>> > wrote: >>> >>> >> >>> >>> >> On Thu, Aug 6, 2009 at 3:12 PM, Marcus D. Hanwell<mar...@cryos.org> >>> >>> >> wrote: >>> >>> >> > James Bigler wrote: >>> >>> >> >> On Thu, Aug 6, 2009 at 12:10 PM, Bill Hoffman >>> >>> >> >> <bill.hoff...@kitware.com <mailto:bill.hoff...@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 >>> >>> > >>> >>> >>> >>> thanks for the links. Now my head is really spinning. I have VC2008 >>> >>> Express installed on WinXP SP3 and evidently the vcredist.exe is NOT >>> >>> included with that version? At least I can not find it. So I guess I >>> >>> have to download it from MSDN (duh) and then manually set all the >>> >>> paths and all that in oder to have cmake/NSIS find and include it in >>> >>> the installer. And I thought deploying on OS X was a bit obtuse... >>> >>> >>> >>> Mike >>> >>> _______________________________________________ >>> _______________________________________________ >>> 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