I have a service that I've built using the C# ServiceBase class. It works when I run it in Windows 7 and Windows Server 2008; however, it doesn't work on Windows XP.

![enter image description here](https://i.stack.imgur.com/TOAez.png)

I created the service using `sc create PBUService binpath= "C:\PBULogger.exe"`. This is the correct path.

Nothing is logging in the Event Viewer under anything and my exception handling code doesn't fire either.

I thought maybe I didn't have the correct .NET version installed, but I have 4.0 installed on the XP machine. However, I created this project using Visual Studio Express 2012, which I'm pretty sure uses .NET 4.5 by default. Is this causing an issue? All the classes I'm using are version 4.0.

I have stripped down all my code to the base methods and this still doesn't work. Here is my code:

```
namespace PBULogger {
    class PBULoggerService : ServiceBase {
    protected override void OnStart(string[] args) {
        try {
           base.OnStart(args);
        } catch (Exception ex) {
            EmailUtility.sendEmail("Service Error", ex.Message + ex.StackTrace);
        }            
    }

    protected override void OnStop() {
        base.OnStop();
    }
}

```

Since it doesn't log in the event viewer, it tells me it isn't even trying to start the service.

I found these entries in my registry for the service under 'HKEY\_LOCAL\_MACHINE/System/ControlSet001/Enum/Services/PBUService/Enum'. 

Not really sure what it means.

![enter image description here](https://i.stack.imgur.com/1YWXO.png)

Anybody know what's going on?