private void ExecuteBegin() { if (Mode == "Installing") { var installer = new Installer(_modList, Location, msg => this.LogMsg(msg)); var th = new Thread(() => { try { installer.Install(); } catch (AggregateException ex) { LogMsg(ex.StackTrace); LogMsg(ex.InnerException.ToString()); } catch (Exception ex) { LogMsg($"{ex.Message} - Can't continue"); } }); th.Priority = ThreadPriority.BelowNormal; th.Start(); } else { var compiler = new Compiler(_mo2Folder, msg => LogMsg(msg)); compiler.MO2Profile = ModListName; var th = new Thread(() => { compiler.LoadArchives(); compiler.Compile(); }); th.Priority = ThreadPriority.BelowNormal; th.Start(); } }