mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-02-14 15:01:57 +00:00
58 lines
1.5 KiB
C#
58 lines
1.5 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Diagnostics;
|
|
using System.ServiceProcess;
|
|
|
|
namespace ZeroTierOneService
|
|
{
|
|
public partial class Service : ServiceBase
|
|
{
|
|
public Service()
|
|
{
|
|
InitializeComponent();
|
|
|
|
this.ztHome = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + Path.DirectorySeparatorChar + "ZeroTier" + Path.DirectorySeparatorChar + "One";
|
|
this.ztUpdatesFolder = this.ztHome + Path.DirectorySeparatorChar + "updates.d";
|
|
this.ztBinary = this.ztHome + Path.DirectorySeparatorChar + (Environment.Is64BitOperatingSystem ? "zerotier-one_x64.exe" : "zerotier-one_x86.exe");
|
|
|
|
this.ztService = null;
|
|
}
|
|
|
|
protected override void OnStart(string[] args)
|
|
{
|
|
startZeroTierService();
|
|
}
|
|
|
|
protected override void OnStop()
|
|
{
|
|
stopZeroTierService();
|
|
}
|
|
|
|
private void startZeroTierService()
|
|
{
|
|
}
|
|
|
|
private void stopZeroTierService()
|
|
{
|
|
if (ztService != null)
|
|
{
|
|
ztService.Kill();
|
|
ztService = null;
|
|
}
|
|
}
|
|
|
|
private void ztService_Exited(object sender, System.EventArgs e)
|
|
{
|
|
ztService = null;
|
|
}
|
|
|
|
private string ztHome;
|
|
private string ztUpdatesFolder;
|
|
private string ztBinary;
|
|
|
|
private Process ztService;
|
|
}
|
|
}
|