Running services in WINE?
Robert Shearman
rob at codeweavers.com
Fri Mar 14 14:25:32 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?
>
programs/services
It could then be started on demand by wineboot and/or the advapi32
services functions.
I was planning to work on this after my endpoint mapper patches are
accepted.
--
Rob Shearman
More information about the wine-devel
mailing list