http://bugs.winehq.org/show_bug.cgi?id=2131
------- Additional Comments From felix.nawothnig@t-online.de 2005-07-05 19:49 ------- Confirmed. (I first tried the WinXP version which works fine)
It doesn't run because Win9x/ME ships a 16 bit cards.dll, the one which comes with WinXP is 32 bit (and so is ours).
The Win9x freecell.exe doesn't run with the 32 bit cards.dll on WinXP either.
Since the 16 bit and 32 bit versions share the same name in this case it is not really fixable. (Well, I think it would be possible to hack together a workaround but I don't think it would be worth the effort (and probably would be rejected anyway :) since freecell.exe and sol.exe are probably the only programs ever written which only work with the 16 bit version - the cards.dll tutorial on the web discusses the problem and gives example code which will run on both Win9x and NT (and on Wine I guess)).
WONTFIX?
P.S.:
This errorcode (21 - ERROR_NOT_READY) still bothers me. ne_module.c explicitly sets it when ( LoadLibraryA()ing the owner of a 16bit dll failed or the search for the 16bit dll returned a real (.so) dll and not a symlink to the owner ) and trying to load a native version of the 16bit dll failed with ERROR_FILE_NOT_FOUND.
... huh?