Hi Jacek,
First I'd like to put a disclaimer, that I'm extremely new to this, so please forgive me if I don't understand most of the behaviours and dependancies. That being said, I will try my very best to dig as much as I can to find out more.
On 2012-04-01, at 7:08 AM, Jacek Caban wrote:
the fact that you see better behavior in an app may be very well a side effect of Wine behaving badly but in a different (more friendly for given application) way
Yes I believe the poor behaviour in wine is that it does not properly resolve the lookup of the IMarshal interface, which the application does not like. Thus adding the stubs allows the lookup to pass and stubs to return "not implemented" error values.
The first question is does the object really implements custom IMarshal implementation on Windows?
How should I go about understanding this more? Would you like to know which IMarshal stubs are being called out to?
I should probably explain more the poor application behaviour that I was seeing. Towards the end of the installation, I got the error: "Unable to add game tasks: IPersistFile::Save failed". With the addition of the IMarshal stubs, this error goes away. I'm not entirely sure what path the application takes as a result of calling the unimplemented IMarshal functions.
Thanks,
Gaurav