Opened 16 years ago
Closed 14 years ago
#35 closed defect (fixed)
DLL update procedure
Reported by: | jef | Owned by: | jef |
---|---|---|---|
Priority: | major | Component: | Installer |
Version: | 1.0 | Keywords: | dllupdate |
Cc: | hhayashi, warmerdam |
Description
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
Attachments (1)
Change History (7)
comment:1 by , 16 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:2 by , 16 years ago
Summary: | DLL installation procedure → DLL update procedure |
---|
It might work better if we tried to install libeay32.dll/ssleay32.dll instead of libeay23.dll/ssleay23.dll ;)
Also Windows might be installed on a different drive. So I'd recommend to use %WINDIR% instead of hardcoding C:\WINDOWS.
Finally it would be nice if the installer scripts had a way to tell the installer to notify the user that a reboot is necessary. Maybe by creating a certain file (like %OSGEO4W_ROOT%/etc/reboot), which dllupdate could do in case a reboot is due.
comment:3 by , 16 years ago
Keywords: | dllupdate added |
---|
openssl.bat has been fixed to try and install libeay32.dll and ssleay32.dll in -2 package.
I have modified ddlupdate to use %WINDIR%, and this is in the -2 msvcrt package.
Modifying setup to report in use file replacement is more involved. I would be interested in doing it but I can't say when I will get to it. It might be prudent if it were filed as a distinct enhancement ticket.
by , 16 years ago
patch that adds a -reboot option to dllupdate that creates %OSGEO4W_ROOT%/etc/setup/reboot when a reboot is necessary, lets setup pick that up, issue a message box and remove the file.
follow-up: 6 comment:5 by , 14 years ago
Cc: | added |
---|---|
Owner: | changed from | to
Status: | assigned → new |
Jurgen,
Sorry for neglecting this so long. I see I don't have my OSGeo4W setup.exe development environment setup any more. Perhaps you would like to apply the change and update packages accordingly yourself? Some notes are at:
I am adding Hayashi-san as a cc since he has done the most recent work on setup.exe and might want to know what is happening.
comment:6 by , 14 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
I have:
I would appreciate testing of the new setting (via a standard package upgrade on a problem system).
Leaving open pending this test.
I would note that the PackagingInstructions have not been updated to reflect the availability of dllupdate (now part of pkg-msvcrt).