I am attempting to make some tweaks to Wine so it can run a (3rd party) windows service that uses CreateWindowEx, and I'm not sure whether I'm on the right track or not. What is happening is that when the service calls CreateWindowEx, I get this error:
Application tried to create a window, but no driver could be loaded. The explorer process failed to start.
I traced it down to the following source code line in wine/dlls/user32/driver.c:
UINT guid_atom = HandleToULong( GetPropW( hwnd, display_device_guid_propW ));
What is happening is that guid_atom returns 0 which ultimately ends up disallowing any connection to a graphics driver.
Now it seems to me that the explorer.exe process is supposed to be providing a desktop window and setting that atom value. But if I try to run wine explorer.exe it doesn't make any difference. I am keeping Wine alive by running wine notepad & and I am also running wine services to make sure that the SCM is alive and available for the services.
OS: Elementary OS Freya 0.3
Is this something that Wine should support? I have had success getting other 3rd party services to work so it seems that it shouldn't be too difficult to make this work. Could anyone provide guidance on how I should proceed to tweak the code to support this? Or if this is going to be a huge project to make this work I would appreciate knowing that too :).
Thanks much, Bob Kocisko