Issue Details (XML | Word | Printable)

Key: CORE-1814
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Adriano dos Santos Fernandes
Reporter: Adriano dos Santos Fernandes
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Change the root determination of the embedded Windows engine and load DLLs with altered search path (to search dependent DLLs on the same path of the loaded DLL)

Created: 01/Apr/08 11:25 AM   Updated: 03/Mar/10 04:17 PM
Return to search
Component/s: API / Client Library, Engine, UDF
Affects Version/s: 2.5 Initial
Fix Version/s: 2.5 Alpha 1

Time Tracking:
Not Specified

Issue Links:
Duplicate
 
Relate
 

Planning Status: Unspecified


 Description  « Hide
This is a Windows specific proposal, with three items. The first is
independent, the second depends one the first and the third depends one
the first and the second.

1) If I use an UDF DLL that depends one others DLLs, I current can't put
all DLLs in <root>\udf. I need to put the dependencies in <root>\bin or
in some other place in %PATH%.

I propose we change ModuleLoader to load with LoadLibraryEx(...,
LOAD_WITH_ALTERED_SEARCH_PATH), so the dependencies are searched in the
same directory as the library being loaded.

2) Above change makes it possible to the application developer load
fbembed.dll with altered search path too. But our rules to determine
<root> is based on the application EXE directory.

I propose we change the root determination of the embedded engine to be
path of fbembed.dll. This is a change compatible with the current
documented way to use embedded, where fbembed.dll and the application
EXE should be in the same directory.


 All   Comments   Work Log   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
The cvs commits can not be displayed for repository Firebird at the moment since the log has not yet been parsed. The log will be parsed the next time the VcsService runs. If you have administrators privileges you can hasten the next time the service will run in the service section of the Administration pages.