Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# - windows service installer not registering service

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?

like image 487
David Hodgson Avatar asked Jul 27 '09 19:07

David Hodgson


2 Answers

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);
    }
}
like image 53
HasaniH Avatar answered Sep 22 '22 06:09

HasaniH


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.

like image 36
Robert Harvey Avatar answered Sep 20 '22 06:09

Robert Harvey