Ok, it worked!!
Wine is NOT passing the --winver parameter to the child process. So what I did (I know that's not right, but I needed this working): Edit misc/version.c and changed line (193 of wine-20020411) static BOOL versionForced = FALSE; to static BOOL versionForced = TRUE;
and line (194 of wine-20020411) WINDOWS_VERSION = WIN31; to WINDOWS_VERSION = NT2K;
As I'm using NT2K DLLs, on a non-windows wine instalation, I didn't copy any of the DLLs wine implements, maybe wine can't guess what Windows version to use (no clue), just the DLLs needed by the program to run.
Why don't use something inside .wine/config or wine.conf like winver = "win98" to set the environment we want to use? If the user wants to override this he would use the command line so force a different one.
If someone can help me, I would be happy to try to do it.
Ricardo.
ps.: but please be patient, I'm not very skilled with C. :)