Phil, Thanks for the suggestion. I suspect it will work. My XP SP3 machine has VC90 entries in C:\Windows\WinSxS, while my Vista SP1 machine does not.
But if GDAL requires the user to install the VC++ redistributable first, why is GDAL redisting the DLLs (e.g. msvcr90.dll) in the GDAL\bin directory? I suspect the intent was to override sxs in the build process, or specify a publisher policy, or something, so that the user does not have to install the redistributable themselves. The idea being that GDAL would work like old-school, pre-sxs applications, where you just have to have the right DLL versions in the same directory as your .exe. Was that not the intent? Are users indeed expected to install that redistributable first? Thanks, Jason -----Original Message----- From: Philippe Vachon [mailto:phili...@cowpig.ca] Sent: Monday, December 15, 2008 5:41 PM To: Jason Roberts Cc: gdal-dev@lists.osgeo.org Subject: Re: [gdal-dev] GDAL 1.6.0 DLL Hell problem on Windows Vista? Hi Jason, I just tried to reproduce this, but wasn't able to; perhaps you don't have the latest version of the C Runtimes installed. It looks as though GEOS_C.DLL has correct manifest data embedded for the VC90 runtime (Visual Studio 2008) so as long as you have the correct assembly installed for MSVC it should run. I believe installing the redistributable components (http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7 -A40D-3802B2AF5FC2&displaylang=en) should be sufficient to get the proper versions of the assemblies installed. Cheers, Phil On Mon, Dec 15, 2008 at 05:12:02PM -0500, Jason Roberts wrote: > Greetings GDAL developers, > > > > I cannot get GDAL 1.6.0 to work on Windows Vista SP1. It appears that > there is a DLL Hell problem that does not appear on XP SP3, at least with > my machines. > > > > Repro steps on Vista SP1: > > > > 1. Download > ftp://ftp.remotesensing.org/gdal/win32/1.6/gdalwin32exe160.zip and > decompress to C:\gdalwin32-1.6 > > 2. From cmd.exe shell: > > a. SET PATH=C:\gdalwin32-1.6\bin;%PATH% > > b. SET GDAL_DATA=C:\gdalwin32-1.6\data > > c. C:\gdalwin32-1.6\bin\gdalinfo.exe > > 3. Receive the following dialog box: > > > > --------------------------- > > gdalinfo.exe - Application Error > > --------------------------- > > The application failed to initialize properly (0xc0150002). Click OK to > terminate the application. > > --------------------------- > > OK > > --------------------------- > > > > The event log contains a new event: Source = SideBySide, Event ID = 33, > Description = Activation context generation failed for > "C:\gdalwin32-1.6\bin\geos_c.dll". Dependent Assembly > Microsoft.VC90.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18 e3b",type="win32",version="9.0.21022.8" > could not be found. Please use sxstrace.exe for detailed diagnosis. > > > > Running depends.exe on C:\gdalwin32-1.6\bin\geos_c.dll gives the error " > Error: The Side-by-Side configuration information for > "c:\gdalwin32-1.6\bin\GEOS_C.DLL" contains errors. The application has > failed to start because its side-by-side configuration is incorrect. > Please see the application event log for more detail (14001)." Looking in > the event log again, we have another instance of the event above. > > > > This looks like a classic DLL Hell problem, with Vista thrown in just to > make it more confusing. Please let me know if I've somehow messed up the > install or am missing something obvious. Apologies if I am... > > > > I will investigate a bit further, but not being a GDAL developer, I do not > know which compilers you use, how you intend to link to MSVCRT, etc. If > the GDAL "build guy" could look at this, I'd really appreciate it. If you > send private builds, I can try them out with quick turnaround. > > > > Thanks for your help, > > > > Jason > > > _______________________________________________ > gdal-dev mailing list > gdal-dev@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/gdal-dev _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/gdal-dev