http://bugs.winehq.org/show_bug.cgi?id=13964
--- Comment #2 from Hin-Tak Leung htl10@users.sourceforge.net 2008-06-17 20:14:29 --- (In reply to comment #1)
Hello,
your WINEPREFIX is probably messed up. Make sure you use a clean .wine.
That c# sample works fine for me.
--- snip --- [focht@localhost work]$ wine ./testapp.exe "z:\home\focht\work\testapp.exe"
<snipped>
You are correct, and the answer is also quite interesting. How did you decide to do the full path ("z:...\testapp.exe")?
I made a new clean WINEPREFIX in .wine2 with .NET 2, and I found that:
1) mono linux, win32 mono + wine accepts relative paths or files in current directory for the argument, .NET doesn't - it needs the full z:......
2) .NET2 throws an exception if a relative/current path is passed. The message is quite clear that a full path is required; however, in the old WINEPREFIX, the relevant exception message got swarmed and lost in a few thousands of "err:ole:CoWaitForMultipleHandles...". Unless you capture the whole thing, and know what to look for, you won't see it; in the new WINEPREFIX, the same exception is thrown, and as discussed elsewhere, WINE drops into a debug backtrace (which is much shorter) on receiving .NET exceptions, and so one gets 10 lines .NET error message and another 100 lines of wine back trace, which is much more readable.
So here are my thoughts: 1) I think my old WINEPREFIX is broken due to installation of some MS devel tools (I have .NET SDK, and the driver dev kit currently, and possibly tried VC express edition as well), I think some MS dev tool replaces wine's debug hooks? We probably want to fix that, or have an FAQ.
2) that said, my old WINEPREFIX is about 2GB in size, and have 15 applications in program menu, and 35 under the uninstaller menu (some of them are optional parts of the same big app) - I used about 1/2 of the applications in a "production" sense (i.e. using them and doing something useful from time to time). Of course I can do two WINEPREFIX, one for applications known to work well, and one for trying things out; but honestly I have only had this .wine (and this machine) for less than 3 months, and it is a bit painful to reinstall 2GB of software every 3 months.
Any tips/pointers for fixing wine's debug hooks?