Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FBEmbed.dll does not load icuin30.dll from same folder as itself (icudt30.dll, icuuc30.dll load OK) [CORE3183] #3557

Closed
firebird-issue-importer opened this issue Oct 14, 2010 · 12 comments

Comments

@firebird-issue-importer

Submitted by: Wade Auchterlonie (wadeauch)

Votes: 1

Example

Application folder = D:\Projects\PMKM7\Bin
FBEmbed folder = D:\Projects\PMKM7\FBE, D:\Projects\PMKM7\FBE\intl

Here's a log (edited) from Process Monitor as FBEmbed.dll is loaded:

QueryOpen D:\Projects\PMKM7\FBE\icuuc30.dll SUCCESS
QueryOpen D:\Projects\PMKM7\FBE\icudt30.dll SUCCESS
QueryOpen D:\Projects\PMKM7\Bin\icuin30.dll NAME NOT FOUND
QueryOpen C:\WINDOWS\system32\icuin30.dll NAME NOT FOUND
QueryOpen C:\WINDOWS\system\icuin30.dll NAME NOT FOUND
QueryOpen C:\WINDOWS\icuin30.dll NAME NOT FOUND
etc until incorrect version if icuin30.ddl is located in a folder on the path

Observations:
(1) icuuc30.dll was located in the same folder as FBEmbed.dll
(2) icudt30.dll was located in the same folder as FBEmbed.dll
(3) When loading icuin30.dll, FBEmbed.dll is not looking in is's own folder first
(4) Eventually (not shown in log above) icuin30.dll is located beneath a Delphi folder on the path and as a result of being the wrong version collation errors are generated.

The way it is now, the file icuin30.dll must be placed in the application folder to be successfully located, and with this comes future problems when trying to use morethan one version of the engine.

Commits: 91dcb1f FirebirdSQL/fbt-repository@b257000

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Oct 17, 2010

Commented by: @asfernandes

How did you load fbembed.dll?

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Oct 17, 2010

Commented by: Wade Auchterlonie (wadeauch)

h := LoadLibraryEx('D:\Projects\PMKM7\FBE\FBEmbed.dll', 0, LOAD_WITH_ALTERED_SEARCH_PATH);

As the log shows, icuuc30 and icudt30 were loaded from the same folder as fbembed.dll.

Then for icuin30, he search began:
(1) Application folder
(2) System32 folder
(3) Windows folder
(4) Path folders

but *not* the same older as fbembed.dll as the first search location.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Mar 24, 2011

Commented by: Robert Kindl (rkindl)

This problem is showstopper when trying to use FBEmbed from .NET project, where I wish dynamically use 32bit version on 32bit OS version and 64bit version on 64bit OS version (.NET files are idependent).
Eg. I want to simply install following files:
C:\Program Files\MyApplicaiton\MyApp.exe (.NET independent application)
C:\Program Files\MyApplicaiton\x64\fbembed.dll icuuc30.dll icuin30.dll ... and all other 64 bit stuff
C:\Program Files\MyApplicaiton\x86\fbembed.dll icuuc30.dll icuin30.dll ... and all other 32 bit stuff

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Feb 2, 2014

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 11, 2014

Commented by: Robert Kindl (rkindl)

I suppose that this will never be fixed in 2.5
Any chance it will be fixed in 3.0?

Or any advise how to solve my problem how to correctly load fmembed.dll from x86 or x64 folders ?

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 11, 2014

Commented by: @hvlad

Does you ever tried fb3 ? It should be fixed at CORE4275
v2.5.3 also will have a fix, but a bit different

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 16, 2014

Commented by: @hvlad

Fix is committed, please confirm

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 30, 2014

Commented by: @hvlad

No feedback - i assume it is fixed

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 30, 2014

Modified by: @hvlad

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.5.3 [ 10461 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Sep 23, 2015

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Jan 18, 2016

Modified by: @pavel-zotov

QA Status: No test

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented May 18, 2018

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Cannot be tested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants