DLL update procedure
|Reported by:||jef||Owned by:||jef|
Some DLLs should be update DLLs in %WINDIR%\system32 instead of just installing them into %OSGEO4W_ROOT%, if the are there.
E.g. it's likely to find an elder version of OpenSSL DLLs in %WINDIR%\system32, which breaks everything using SSL (like libcurl and in turn GDAL and everything that depends on it). This only applies to EXEs/DLLs that are loaded from different path than %OSGEO4W_ROOT%\bin (like Python extension, GRASS executables). About the DLL search order: http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx
We should have a tool that can retrieve the version of a DLL and if necessary replaces it with a newer one. I found a code snippet that should how to retrieve the DLL version on http://www.codeproject.com/KB/DLL/dllversion.aspx
The update procedure should also consider replace on reboot, if the older version of the DLL is currently in use (osgeo4w-setup has code to do that).
A related posting of the qgis-developer list: http://lists.osgeo.org/pipermail/qgis-developer/2009-January/005733.html