[osgeo4w-dev] Re: osgeo4w-dev Digest, Vol 14, Issue 6

Matt Wilkie matt.wilkie at gov.yk.ca
Thu Feb 5 17:22:35 EST 2009


> The only other way I know to force the program to use "our" libtiff.dll is
> to ensure that C:\OSgeo4W\bin is the current working directory when run the
> program.  

I would certainly vote for this, if it works reliably, over renaming 
libtiff and updating all the dependent packages now and forevermore.

For the archives and future reference, the default dll search order 
according to msdn is:
<quote>
    1. The directory from which the application loaded.
    2. The system directory. Use the GetSystemDirectory function to get 
the path of this directory.
    3. The 16-bit system directory. There is no function that obtains 
the path of this directory, but it is searched.
    4. The Windows directory. Use the GetWindowsDirectory function to 
get the path of this directory.
    5. The current directory.
    6. The directories that are listed in the PATH environment variable. 
Note that this does not include the per-application path specified by 
the App Paths registry key. The App Paths key is not used when computing 
the DLL search path.
</quote>
-- http://msdn.microsoft.com/en-us/library/ms682586.aspx

There is a SetDllDirectory function which seems analogous to adding a 
directory to PATH. I've no idea what kind of code is necessary to use it 
though!  http://msdn.microsoft.com/en-us/library/ms686203.aspx

I've asked StackOverflow if there is a way we can do this from a script:
http://stackoverflow.com/questions/518228

cheers,

-matt




More information about the osgeo4w-dev mailing list