diff --git a/Barotrauma/BarotraumaClient/ClientSource/Screens/MainMenuScreen.cs b/Barotrauma/BarotraumaClient/ClientSource/Screens/MainMenuScreen.cs index b4e573d9c..12c1f9165 100644 --- a/Barotrauma/BarotraumaClient/ClientSource/Screens/MainMenuScreen.cs +++ b/Barotrauma/BarotraumaClient/ClientSource/Screens/MainMenuScreen.cs @@ -447,16 +447,24 @@ namespace Barotrauma msg.Buttons[0].OnClicked = (GUIButton button, object obj) => { - File.Delete("Barotrauma.dll"); - File.Delete("Barotrauma.deps.json"); + msg.Close(); - File.Move("Barotrauma.dll.original", "Barotrauma.dll"); - File.Move("Barotrauma.deps.json.original", "Barotrauma.deps.json"); + try + { + System.IO.File.Move("Barotrauma.dll", "Barotrauma.dll.todelete", true); + System.IO.File.Move("Barotrauma.deps.json", "Barotrauma.deps.json.todelete", true); + + System.IO.File.Move("Barotrauma.dll.original", "Barotrauma.dll", true); + System.IO.File.Move("Barotrauma.deps.json.original", "Barotrauma.deps.json", true); + + }catch(Exception e) + { + new GUIMessageBox("Error", "Error: " + e.ToString()); + return false; + } new GUIMessageBox("Restart", "Restart your game to apply the changes."); - msg.Close(); - return true; }; diff --git a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs index 02dd73070..2228b5210 100644 --- a/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs +++ b/Barotrauma/BarotraumaShared/SharedSource/Lua/LuaSetup.cs @@ -252,15 +252,18 @@ namespace Barotrauma ZipFile.ExtractToDirectory("Mods/LuaForBarotrauma/clientside_files.zip", ".", true); - File.Move("Barotrauma.dll", "Barotrauma.dll.temp"); - File.Move("Barotrauma.deps.json", "Barotrauma.deps.json.temp"); + File.Move("Barotrauma.dll", "Barotrauma.dll.temp", true); + File.Move("Barotrauma.deps.json", "Barotrauma.deps.json.temp", true); + File.Move("RestSharp.dll", "RestSharp.dll.temp", true); File.Move("Barotrauma.dll.original", "Barotrauma.dll"); File.Move("Barotrauma.deps.json.original", "Barotrauma.deps.json"); + File.Move("RestSharp.dll.original", "RestSharp.dll", true); - File.Move("Barotrauma.dll.temp", "Barotrauma.dll.original"); - File.Move("Barotrauma.deps.json.temp", "Barotrauma.deps.json.original"); - }catch(Exception e) + File.Move("Barotrauma.dll.temp", "Barotrauma.dll.original", true); + File.Move("Barotrauma.deps.json.temp", "Barotrauma.deps.json.original", true); + } + catch (Exception e) { LuaSetup.luaSetup.HandleLuaException(e);