diff --git a/Bloxstrap/App.xaml.cs b/Bloxstrap/App.xaml.cs index 76d32f27..4e7fb936 100644 --- a/Bloxstrap/App.xaml.cs +++ b/Bloxstrap/App.xaml.cs @@ -209,6 +209,13 @@ protected override void OnStartup(StartupEventArgs e) if (!IsFirstRun) { Logger.Initialize(IsUninstall); + + if (!Logger.Initialized) + { + Logger.WriteLine("[App::OnStartup] Possible duplicate launch detected, terminating."); + Terminate(); + } + Settings.Load(); State.Load(); FastFlags.Load(); diff --git a/Bloxstrap/Logger.cs b/Bloxstrap/Logger.cs index f9bcd18a..2b54d928 100644 --- a/Bloxstrap/Logger.cs +++ b/Bloxstrap/Logger.cs @@ -32,10 +32,19 @@ public void Initialize(bool useTempDir = false) WriteLine($"[Logger::Initialize] Initializing at {location}"); if (Initialized) - throw new Exception("Logger is already initialized"); + { + WriteLine("[Logger::Initialize] Failed to initialize because logger is already initialized"); + return; + } Directory.CreateDirectory(directory); + if (File.Exists(location)) + { + WriteLine("[Logger::Initialize] Failed to initialize because log file already exists"); + return; + } + _filestream = File.Open(location, FileMode.Create, FileAccess.Write, FileShare.Read); if (Backlog.Count > 0)