50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Configuration.Install;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using Microsoft.Win32;
|
|
|
|
namespace TimberWinR.ServiceHost
|
|
{
|
|
[RunInstaller(true)]
|
|
public partial class Installer : System.Configuration.Install.Installer
|
|
{
|
|
public Installer()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
public override void Install(IDictionary stateSaver)
|
|
{
|
|
base.Install(stateSaver);
|
|
|
|
string keyPath = @"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TimberWinR";
|
|
string keyName = "ImagePath";
|
|
|
|
string currentValue = Registry.GetValue(keyPath, keyName, "").ToString();
|
|
if (!string.IsNullOrEmpty(currentValue))
|
|
{
|
|
string configFile = Context.Parameters["configfile"];
|
|
if (!string.IsNullOrEmpty(configFile) && !currentValue.Contains("-configFile "))
|
|
{
|
|
currentValue += string.Format(" -configFile \"{0}\"", configFile.Replace("\\\\", "\\"));
|
|
Registry.SetValue(keyPath, keyName, currentValue);
|
|
}
|
|
|
|
currentValue = Registry.GetValue(keyPath, keyName, "").ToString();
|
|
|
|
string logDir = Context.Parameters["logdir"];
|
|
if (!string.IsNullOrEmpty(logDir) && !currentValue.Contains("-logDir "))
|
|
{
|
|
currentValue += string.Format(" -logDir \"{0}\"", logDir.Replace("\\\\", "\\"));
|
|
Registry.SetValue(keyPath, keyName, currentValue);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|