Skip to content
View RunAsService's full-sized avatar
🎯
Focusing
🎯
Focusing

Block or report RunAsService

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
RunAsService/README.md

RunAsService for Windows 1.45 Build

While searching for a version control system to replace Visual Source Safe, I came across SubVersion. SubVersion appeared to be a reliable alternative, so I downloaded a snapshot of the code, built it, and launched the svnserve.exe program, which is the SubVersion server instance. Getting everything up and running was surprisingly quick and easy. However, one thing stood out: I couldn’t configure the server to run as a Windows service.

There’s a significant category of software that would greatly benefit from being able to start as a Windows service. For example, JINI services written in Java or other standalone Java applications without user interfaces that provide essential backend services for other applications. This need isn’t exclusive to Java applications—it applies to any software that should run in the background, independently of whether a user is logged in. Applications like these, which currently require manual startup or reliance on being placed in the startup group, would be far better served if they could be set up to run automatically as services when the machine boots.

Reflecting on this need led to the concept for RunAsService.

What RunAsService Should Do

The foundational requirements for this application are:

1. Start Applications as Windows Services

RunAsService must enable the execution of one or more applications as native Windows services, ensuring they start automatically with the system.

2. Built Using Microsoft .NET Framework

Given how straightforward it is to create a Windows service using the .NET Framework, C# was chosen as the development language for this project.

3. Centralized and User-Friendly Configuration

To simplify setup, configuration should be centralized. Utilizing the app.config XML file, which is standard for .NET applications, would be ideal for defining service parameters.

4. Integrated Logging with Log4Net

For debugging and error tracking, the application should leverage Log4Net, the .NET counterpart to Log4J. Based on my experience with Log4J as a robust logging and debugging tool, it seemed only logical to use its .NET version for this project.

Expanded Features

To enhance its functionality and usability, additional features could include:

  • Service Management GUI: A user-friendly graphical interface to create, edit, and manage services without requiring deep technical expertise.
  • Support for Multiple Languages: Extend support beyond .NET and Java to accommodate a broader range of executables, such as Python scripts, batch files, or native binaries.
  • Dependency Management: Allow services to define dependencies, ensuring that critical services start in the correct order.
  • Dynamic Service Behavior: Provide advanced configurations for scenarios like restarting services on failures, setting execution priorities, or triggering services at specific times.
  • Cross-Platform Compatibility: Eventually, extend support for non-Windows platforms to accommodate the growing diversity of enterprise systems.

RunAsService is a solution designed to bridge the gap between applications requiring manual interaction and the convenience of automated, background execution. It streamlines processes, boosts reliability, and ensures services are always available when needed.

.

.

.

.

.

.

RunAsService

RunAsService Windows

RunAsService Download

RunAsService cmd

RunAsService Free

Popular repositories Loading

  1. RunAsService RunAsService Public