diff --git a/ext/bin/devcon/devcon64.exe b/ext/bin/devcon/devcon_x64.exe similarity index 100% rename from ext/bin/devcon/devcon64.exe rename to ext/bin/devcon/devcon_x64.exe diff --git a/ext/bin/devcon/devcon32.exe b/ext/bin/devcon/devcon_x86.exe similarity index 100% rename from ext/bin/devcon/devcon32.exe rename to ext/bin/devcon/devcon_x86.exe diff --git a/windows/ZeroTierOneService/Service.cs b/windows/ZeroTierOneService/Service.cs index 4cfde8038..f706802af 100644 --- a/windows/ZeroTierOneService/Service.cs +++ b/windows/ZeroTierOneService/Service.cs @@ -1,12 +1,9 @@ using System; +using System.IO; using System.Collections.Generic; -using System.ComponentModel; using System.Data; using System.Diagnostics; -using System.Linq; using System.ServiceProcess; -using System.Text; -using System.Threading.Tasks; namespace ZeroTierOneService { @@ -15,14 +12,45 @@ namespace ZeroTierOneService 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) + { + } + + private string ztHome; + private string ztUpdatesFolder; + private string ztBinary; + + private Process ztService; } }