{"id":15412274,"url":"https://github.com/robthree/debuggableselfinstallingservice","last_synced_at":"2025-04-19T08:05:30.146Z","repository":{"id":69245682,"uuid":"56705905","full_name":"RobThree/DebuggableSelfInstallingService","owner":"RobThree","description":"A Debuggable, Self-Installing Windows Service Template based on James Michael Hare's excellent blogposts","archived":false,"fork":false,"pushed_at":"2019-06-11T13:27:14.000Z","size":221,"stargazers_count":23,"open_issues_count":1,"forks_count":11,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-12T17:22:25.005Z","etag":null,"topics":["c-sharp","dotnet","service","windows-service"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RobThree.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-20T17:13:59.000Z","updated_at":"2024-05-28T13:29:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"2af78640-13d5-4ee7-bb17-8fab95d393a5","html_url":"https://github.com/RobThree/DebuggableSelfInstallingService","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"e2d3aca9c0b79e9f9aa39a18b75ef4549dbd9efa"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FDebuggableSelfInstallingService","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FDebuggableSelfInstallingService/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FDebuggableSelfInstallingService/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RobThree%2FDebuggableSelfInstallingService/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RobThree","download_url":"https://codeload.github.com/RobThree/DebuggableSelfInstallingService/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249191348,"owners_count":21227548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","dotnet","service","windows-service"],"created_at":"2024-10-01T16:52:05.681Z","updated_at":"2025-04-19T08:05:30.129Z","avatar_url":"https://github.com/RobThree.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Debuggable, Self-Installing, Windows Service\nA Debuggable, Self-Installing Windows Service Template based on [James Michael Hare](http://geekswithblogs.net/BlackRabbitCoder)'s excellent blogposts:\n\n* [C# Toolbox: A Debuggable, Self-Installing Windows Service Template (1 of 2)](http://blackrabbitcoder.net/archive/2010/09/23/c-windows-services-1-of-2-creating-a-debuggable-windows.aspx)\n* [C# Toolbox: A Debuggable, Self-Installing Windows Service Template (2 of 2)](http://blackrabbitcoder.net/archive/2010/10/07/c-windows-services-2-of-2-self-installing-windows-service-template.aspx)\n\n## How to use ##\n\n* Download [the Visual Studio template](https://visualstudiogallery.msdn.microsoft.com/013760d0-d02f-45fe-9fc5-740251e1b30c)\n* Create a new project and select / search for `DebuggableService` (see screenshot below)\n* Implement any of the provided `OnStart()`, `OnStop()`, `OnPause()`, `OnContinue()`, `OnShutDown()` and `OnCustomCommand()` methods\n* Run/debug your application as usual, continue your development cycle as always\n* When your application is done, open a console (with Administrative privileges!) and execute `MyApp.exe -install`to install your service; now you can start/stop/pause your service. To uninstall your service simply run `MyApp.exe -uninstall`.\n\n![Screenshot of project template selector](newproject.png)\n\n## More ##\n\nThe `WindowsService.cs` file contains the `ServiceImplementation` class which, as it's name suggests, implements all service methods. This class has been fitted with an `WindowsServiceAttribute` which you can use to control some service-specific properties like `Name`, `DisplayName`, `Description`, `UserName`, `Password`, `EventLogSource`, `StartMode`, `CanPauseAndContinue`, `CanShutdown`, `CanStop` and services your service depends on via `ServiceDependsOn`.\n\n## But I want more! ##\n\nSure! No problem. I can recommend the excellent [Topshelf](http://topshelf-project.com/) project, also available as [NuGet package](https://www.nuget.org/packages/Topshelf/). This allows for even more control, has [way better documentation](https://topshelf.readthedocs.org/en/latest/) and is [also available on GitHub](https://github.com/Topshelf/Topshelf)!\n\n## Project status\n\nWorks (tested) with:\n* Visual Studio 2013\n* Visual Studio 2015\n* Visual Studio 2017\n* Visual Studio 2019\n\n![Project status](http://riii.nl/womm)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobthree%2Fdebuggableselfinstallingservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobthree%2Fdebuggableselfinstallingservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobthree%2Fdebuggableselfinstallingservice/lists"}