Hi all!
Attached is a message from Shachar Shemesh, one of the developers of Wine
(
http://winehq.com/), a Windows compatibility layer for UNIXes. In this
message he explains why Microsoft Freecell may suffer from DLL Hell, and what
can be done about it.
I talked to Shachar and he said that the entire content of his message is
released under the public domain.
Mike Keller: if you read this, you may wish to quote it in the Freecell FAQ.
Regards,
Shlomi Fish
---------------------------------------------------------------------
Shlomi Fish shlomif_at_iglu.org.il
Homepage:
http://www.shlomifish.org/
Tcl is LISP on drugs. Using strings instead of S-expressions for closures
is Evil with one of those gigantic E's you can find at the beginning of
paragraphs.
attached mail follows:
Amos Shapira wrote:
>On 5/9/05, Shlomi Fish <shlomif_at_iglu.org.il> wrote:
>
>
>>On Monday 09 May 2005 11:40, Amos Shapira wrote:
>>
>>
>>>I'm not that deep into Windows administration, I just know that, as
>>>far as I noticed,
>>>I never had to bother with it.
>>>
>>>
>>>
>>Well recently I heard of someone who told me MS Freecell (!!) does not start
>>for him for some reason. (while almost everything else seems to be in working
>>order) I said I had no idea how to resolve it, but pointed him to free
>>(as-in-beer and possibly as-in-speech) alternatives.
>>
>>
>
>And you think this is an example of "DLL hell"?
>Do you imply that he installed some program with a DLL which
>broke his freecell?
>
>
Actually, that's highly likely, yes. The following is pure guesswork,
but educated one `-)
Following a recent thread in Wine-devel, FreeCell requires "cards.dll".
On Win 9x, this is a 16 bits DLL, which means that FreeCell loads it as
a stub through a "thunk" (FreeCell has always been 32 bit, even on
Windows 3.11). On Windows NT and up, Cards.dll is a 32 bit DLL. FreeCell
accordingly directly links with it. Unlike MS's usual behavior on such
occasions, they did not call it "cards32.dll". As a result, you have
cards using programs that can work on Windows 9x, and programs that can
work on Windows NT+, but it's very hard to make a program that will work
on both.
Frankly, this shouldn't matter so much. The interface for Cards.dll is
undocumented, and so, in theory, only MS applications would use it.
Cards.dll does, however, have a very visible, very useful, resource
section, holding images of all the cards (plus silly animations). If
another application brought it's own copy of Cards.dll, probably BECAUSE
it knew it couldn't count on linking with the OS supplied one, then it
is entirely conceivable that it broke FreeCell along the way.
Shachar
--
Shachar Shemesh
Lingnu Open Source Consulting ltd.
Have you backed up today's work? http://www.lingnu.com/backup.html
=================================================================
To unsubscribe, send mail to linux-il-request_at_linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request_at_linux.org.il
Received on Sat May 21 2005 - 01:04:56 IDT