https://bugs.winehq.org/show_bug.cgi?id=29678
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL|http://www.erdas.com/produc |http://er-viewer.software.i |ts/ERDASERMapper/ERDASERVie |nformer.com/download/?ca219 |wer/Details.aspx |71 CC| |focht@gmx.net Component|-unknown |ntdll Summary|ER Viewer 11: does not |ER Viewer 11 installer |install, "requires Windows |fails, complains with |2000 or later" |"requires Windows 2000 or | |later" (loader: builtin | |'version.dll' vs. private | |path 'version.dll')
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
the installer extracts a PE binary 'version.dll' to a private path and tries to load it. Although the app calls LoadLibraryExA() with LOAD_WITH_ALTERED_SEARCH_PATH Wine's loader still prefers builtin which doesn't have that custom export.
--- snip --- ... 0024:Call KERNEL32.LoadLibraryExA(00409f70 "C:\users\focht\Temp\nsy94c0.tmp\version.dll",00000000,00000008) ret=00401f92 0024:trace:module:load_dll looking for L"C:\users\focht\Temp\nsy94c0.tmp\version.dll" in L"C:\users\focht\Temp\nsy94c0.tmp;.;C:\windows\system32;C:\windows\system;C:\windows;C:\windows\system32;C:\windows;C:\windows\system32\wbem" 0024:trace:module:get_load_order looking for L"C:\users\focht\Temp\nsy94c0.tmp\version.dll" 0024:trace:module:get_load_order got hardcoded default for L"C:\users\focht\Temp\nsy94c0.tmp\version.dll" 0024:trace:module:load_builtin_dll Trying built-in L"C:\users\focht\Temp\nsy94c0.tmp\version.dll" 0024:warn:module:load_builtin_dll failed to load .so lib for builtin L"C:\users\focht\Temp\nsy94c0.tmp\version.dll": /home/focht/.wine/dosdevices/c:/users/focht/Temp/nsy94c0.tmp/version.dll: invalid ELF header 0024:trace:module:load_builtin_dll Trying built-in L"version.dll" 0024:trace:module:load_builtin_dll Found L"C:\windows\system32\version.dll" at 0x7eae0000 for builtin L"C:\users\focht\Temp\nsy94c0.tmp\version.dll" 0024:Call PE DLL (proc=0x7eaef11c,module=0x7eae0000 L"version.dll",reason=WINE_PREATTACH,res=(nil)) 0024:Ret PE DLL (proc=0x7eaef11c,module=0x7eae0000 L"version.dll",reason=WINE_PREATTACH,res=(nil)) retval=1 0024:trace:module:load_dll Loaded module L"C:\users\focht\Temp\nsy94c0.tmp\version.dll" (builtin) at 0x7eae0000 0024:Ret KERNEL32.LoadLibraryExA() retval=7eae0000 ret=00401f92 0024:Call KERNEL32.GetProcAddress(7eae0000,00409b70 "GetWindowsVersion") ret=00401fa2 0024:Ret KERNEL32.GetProcAddress() retval=00000000 ret=00401fa2 0024:Call KERNEL32.FreeLibrary(7eae0000) ret=0040200d 0024:trace:module:LdrUnloadDll (0x7eae0000) 0024:trace:module:LdrUnloadDll (L"version.dll") - START 0024:trace:module:LdrUnloadDll END 0024:Ret KERNEL32.FreeLibrary() retval=00000001 ret=0040200d ... 0024:Call KERNEL32.lstrcpynA(0040a770,00422e40 "ERDAS ER Viewer 2011 & Microsoft Office Plugin requires Windows 2000 or later. Setup aborted.",00000400) ret=00405b79 0024:Ret KERNEL32.lstrcpynA() retval=0040a770 ret=00405b79 0024:Call user32.MessageBoxIndirectA(004091f8) ret=00405488 --- snip ---
Similar to:
* bug 14980 ('riched20.dll' from private path) * bug 25373 (conflict with builtin 'hal.dll'). * possibly others ...
Since there hasn't been a discussion in recent years regarding changes to Wine's loader behaviour to cope with this problem you have to live with it ...
Workaround for the installer:
--- snip --- $ WINEDLLOVERRIDES=version=n,b wine ./erviewer_11.0.1_20110624.exe --- snip ---
$ sha1sum erviewer_11.0.1_20110624.exe 53233c7d24d8c221876107fbf29a37cb4dfd7aa7 erviewer_11.0.1_20110624.exe
$ du -sh erviewer_11.0.1_20110624.exe 24M erviewer_11.0.1_20110624.exe
$ wine --version wine-1.7.11-206-g82b3813
Regards