Creating an MSI installer for a Windows Service

27,401

What you're looking for (and that article has nothing on this, that I can see) is a ProjectInstaller class. If you open your service up in design view, you can right-click and select "Add Installer." This adds a class to your project called, by default (I think), ProjectInstaller.cs. In design view, you will see two items with the default names ServiceProcessInstaller1 and ServiceInstaller1. Change the properties on each for what account you want your service to run under, what the service name is, description, etc.

Then, in your MSI project, click on the Custom Actions Editor icon and add the "Primary output from YourServiceProject" to all of the actions, Install, Commit, Rollback, and Uninstall.

Here's an older walk-through from Microsoft.

Best of luck.

Share:
27,401
Joel Martinez
Author by

Joel Martinez

Software Engineer @ Xamarin (now a part of Microsoft). In the past, I founded the Orlando .NET User Group (ONETUG), wrote a few books, worked at a few startups, made a few games, and was a Microsoft XNA MVP for a few years. You can find me on twitter (@joelmartinez), or on the web at http://codecube.net

Updated on February 13, 2020

Comments

  • Joel Martinez
    Joel Martinez about 4 years

    I have a Windows Service project in Visual Studio 2008. I've also added the setup and deployment project. Unfortunately, when I install it, the service does not show up in the services MMC snapin.

    I have already added the ProjectInstaller to the service project, and I've followed the instructions here already.