Running services in WINE?

Christopher raccoonone at procyongames.com
Fri Mar 14 14:14:59 CDT 2008


Paul Vriens wrote:
> James Hawkins wrote:
>> On Fri, Mar 14, 2008 at 8:03 AM, Paul Vriens 
>> <paul.vriens.wine at gmail.com> wrote:
>>> Christopher wrote:
>>>  > Maarten Lankhorst wrote:
>>>  >> Hi Christopher,
>>>  >>
>>>  >> 2008/3/12, Christopher <raccoonone at 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=284f86183cce638ff8fce4023cb76273e979aa09). 
>>>
>>>  We need to find a better way of checking whether a service is truly 
>>> installed.
>>>  (and not just some registry keys).
>>>
>>
>> http://bugs.winehq.org/show_bug.cgi?id=11651#c3
>>
>> but generally comments 2-4.
>>
> It's good we came to same conclusion.
>
> If we wanted to implemented a SCM where would that reside? wineboot?
>
> Cheers,
>
> Paul.
>
>
If one of you (or anyone else) works on implementing a SCM, I'd love to 
help. I don't think I could do it on my own, but I can certainly lend a 
hand if someone with more experience can tell me what needs to be done.

Christopher



More information about the wine-devel mailing list