Christopher wrote:
Maarten Lankhorst wrote:
Hi Christopher,
2008/3/12, Christopher raccoonone@procyongames.com:
I've been trying to get MozyHome working on WINE, and have made a little progress. However, it seems that the service which Mozy uses won't start. Searching a bit I found a thread from a year ago stating that services don't work in WINE, but that it was being worked on. Are services implemented in WINE now, or if they're not is someone working on it who I could help out?
Services most definitely work now. Some of them you can start manually with "wine net start 'servicename'", however this shouldn't be needed.
Cheers, Maarten.
Thanks Maarten! I tried that, but didn't have anymore luck. The service exits almost immediately, after giving a few fixme messages. Time to do some debugging I guess :)
Christopher
I've been looking into this and found an issue in Wine that I'm not sure who to test or solve yet.
MozyHome creates a key in the Services branch:
System\CurrentControlSet\Services\mozybackup
It than adds a 'Description' value to this key.
A bit later it checks for the service by doing an OpenService. This succeeds on Wine but shouldn't.
I've created a simple test that creates the key and some value in it. Doing an OpenService fails every time on Windows.
I took another approach whereby I created a proper service (CreateService) and checked whether I could do an OpenService. This succeeded every time even after deleting the whole key.
What it boils down to is that the service control manager keeps track of the services. Only proper service calls can influence the service control manager (or a reboot).
So as long as we don't implement some service control manager functionality (services.exe?) we could have some issues as with MozyHome.
One approach we could take while we don't have the full functionality is to check for the minimal required parameters (value) we need for a service. Would that be acceptable?
I think Maarten's patch for CreateService was along those same lines (http://source.winehq.org/git/wine.git/?a=commit;h=284f86183cce638ff8fce4023c...). We need to find a better way of checking whether a service is truly installed. (and not just some registry keys).