C# - windows service installer not registering service

14,993

Solution 1

Does your service project have an Installer class? You should have one that looks something like this:

[RunInstaller(true)]
public partial class Service1Installer : Installer
{
    public Service1Installer()
    {
        InitializeComponent();
        ServiceProcessInstaller process = new ServiceProcessInstaller();
        process.Account = ServiceAccount.LocalSystem;

        ServiceInstaller serviceAdmin = new ServiceInstaller();
        serviceAdmin.StartType = ServiceStartMode.Manual;
        serviceAdmin.ServiceName = "Service1";
        serviceAdmin.DisplayName = "Service1";
        serviceAdmin.Description = "Service1";

        Installers.Add(serviceAdmin);
    }
}

Solution 2

Make sure you've created a ServiceInstaller and ServiceProcessInstaller class in your service project. (Check this link for more info).

Close computer management and the Services window, run your installer again, and reopen the Services window.

If that doesn't work, restart your computer. You might have some files locked.

It goes without saying that you probably need administrative privileges on the machine for this to work properly.

Share:
14,993
David Hodgson
Author by

David Hodgson

Updated on June 05, 2022

Comments

  • David Hodgson
    David Hodgson almost 2 years

    I'm trying to use an installer for a Windows service, and would like to avoid using InstallUtil.exe. The installer appears to work correctly (the executable and dlls are in the correct directory), but the service doesn't appear under Computer Management.

    Here's what I've done so far:

    The service class name is the default - Service1.

    In the Project installer, the ServiceName of the service installer matches the class name - Service1.

    Under the Custom Actions, the primary output of the service was added to Install, Commit, Rollback, and Uninstall.

    I'm using http://support.microsoft.com/kb/816169 as a reference.

    Any ideas?