Hi folks, Spotted what looks like a simple mistake in the Services code when trying to get a client's service to run -- it was failing with "Couldn't find wait semaphore". The semaphore name being used in StartServiceCtrlDispatcherA had a 'ADVAPI32_' prefix rather than the 'ADVAPI_' used elsewhere in the file. ChangeLog Changed semaphore name in StartServiceCtrlDispatcherA to match that used when creating the object in StartServiceW. Index: dlls/advapi32/service.c =================================================================== RCS file: /home/wine/wine/dlls/advapi32/service.c,v retrieving revision 1.38 diff -r1.38 service.c 84c84 < wait = OpenSemaphoreA(SEMAPHORE_ALL_ACCESS, FALSE, "ADVAPI32_ServiceStartData"); --- > wait = OpenSemaphoreA(SEMAPHORE_ALL_ACCESS, FALSE, "ADVAPI_ServiceStartData"); Regards, Ben A L Jemmett. (http://web.ukonline.co.uk/ben.jemmett/, http://www.deltasoft.com/)