Quasar/Quasar.Client/Setup/ClientUninstaller.cs

53 lines
1.6 KiB
C#

using Quasar.Client.Config;
using Quasar.Client.IO;
using System;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace Quasar.Client.Setup
{
public class ClientUninstaller : ClientSetupBase
{
public void Uninstall()
{
if (Settings.STARTUP)
{
var clientStartup = new ClientStartup();
clientStartup.RemoveFromStartup(Settings.STARTUPKEY);
}
if (Settings.ENABLELOGGER && Directory.Exists(Settings.LOGSPATH))
{
// this must match the keylogger log files
Regex reg = new Regex(@"^\d{4}\-(0[1-9]|1[012])\-(0[1-9]|[12][0-9]|3[01])$");
foreach (var logFile in Directory.GetFiles(Settings.LOGSPATH, "*", SearchOption.TopDirectoryOnly)
.Where(path => reg.IsMatch(Path.GetFileName(path))).ToList())
{
try
{
File.Delete(logFile);
}
catch (Exception)
{
// no important exception
}
}
}
string batchFile = BatchFile.CreateUninstallBatch(Application.ExecutablePath);
ProcessStartInfo startInfo = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
FileName = batchFile
};
Process.Start(startInfo);
}
}
}