[PATCH] Version info for comctl32.dll

lawson_whitney at juno.com lawson_whitney at juno.com
Thu Mar 15 19:54:26 CST 2001



On Thu, 15 Mar 2001, Dmitry Timoshkov wrote:

>
> On the related note:
> Lawson Whitney reported that juno 2.0.11 checks version info of oleaut32.dll and
> with my recent patch (which has disabled searching of version resources if dll was
> loaded but version resources were not found) refuses to load.
>
> Well, I added version info into built-in oleaut32.dll, but here another problem arised:
> LoadLibraryExA explicitly checks for LOAD_LIBRARY_AS_DATAFILE, and then uses SearchPathA
> to locate a dll. Since SearchPathA can't find built-in dlls LoadLibraryExA returns 0.
>
> With the attached patch my test program is now able to retrieve version info for
> built-in oleaut32.dll, but I didn't manage to avoid resolving imports for built-in
> dlls, because they are register themself from the code generated by winebuild.
>
> I tried to propagate 'flags' starting from BUILTIN_LoadLibraryExA, but failed.
>
> Now the question: How to load built-in dll without resolving its imports?
>
Where's the harm in resolving the imports of the builtin?

In this case, the app has already loaded and used oleaut32 before it
gets around to asking about its version.
>
I tried this patch, and unreverted the GetFileVersionInfo(Size) patch,
but juno still isn't happy.  With the native dll present, the app asks
for its version info and gets the builtin.  The ver trace looks a little
strange to me - maybe it will make sense to you?

About.exe returns the builtin oleaut32 version, but _only_ if the native
oleaut32 is present (if I move it away, About.exe gets size 0), and only
if it is given the native dll's filename.  Give it the builtin filename
and it gets size 0.  I think the latter is probably not a problem, but
it seems strange to me.

It always astounds me how worked up msdose windose programs get about
versions...

Hmmm, msdose has a fairly systematic facility to lie to programs - IIRC,
even to a different lie for each program - about version information.
Maybe we need something along those lines (gaaa!).  I am afraid juno
actually wants to see verbatim the whole version block from oleaut32 -
the install program for it does install one, right over whatever was
there, for all it cares, so it may well consider any deviation fatal.
I haven't looked at it in depth yet, but I may have to.

Lawson

This message is brought to you by Wine-20010305, junopine-2.0.2,
Juno 2.0.11, and pine-4.10
---cut here
-------------- next part --------------
A non-text attachment was scrubbed...
Name: version.trace.gz
Type: application/octet-stream
Size: 1251 bytes
Desc: 
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20010315/3fd687de/version.trace.obj


More information about the wine-devel mailing list