private void InstallerWorkerMethod() { try { Console.WriteLine(); string localNuterra = Path.Combine(Directory.GetCurrentDirectory(), "Nuterra_Data"); var info = new ModificationInfo(); info.TerraTechRoot = Path.GetDirectoryName(installSettings.TerraTechRoot); info.NuterraData = localNuterra; info.InitDefaults(); Console.WriteLine("Modding Assembly-CSharp.dll"); InstallProgram.PerformInstall(info); Console.WriteLine(); if (!ArePathsEqual(Directory.GetCurrentDirectory(), info.TerraTechRoot)) { CopyNuterraFiles(info, localNuterra); } else { Console.WriteLine("You are running the installer from the terratech root directory, copying files is skipped"); } Console.WriteLine(); Console.WriteLine("Install succesfull"); Console.WriteLine("Enjoy Nuterra :3"); } catch (Exception ex) { Console.WriteLine(); Console.WriteLine(ex.StackTrace); Console.WriteLine(); Console.WriteLine(ex.Message); Console.WriteLine("Install failed"); } finally { _installerThread = null; Invoke(new Action(() => { UpdateFromInstallSettings(logEvents: false); })); } }