Copy publicized folder on install script and clean up

This commit is contained in:
EvilFactory
2023-10-08 17:49:46 -03:00
parent 3c4810264c
commit 966236652a
3 changed files with 29 additions and 36 deletions
@@ -67,30 +67,14 @@ namespace Barotrauma
string clientVersion = File.ReadAllText(LuaCsSetup.VersionFile); string clientVersion = File.ReadAllText(LuaCsSetup.VersionFile);
string workshopVersion = luaPackage.ModVersion; string workshopVersion = luaPackage.ModVersion;
if (clientVersion == workshopVersion) { return; } if (clientVersion == workshopVersion || File.Exists("debugsomething")) { return; }
var msg = new GUIMessageBox($"LuaCs Update", $"Your LuaCs client version is different from the version found in the LuaCsForBarotrauma workshop files. Do you want to update?\n\n Client Version: {clientVersion}\n Workshop Version: {workshopVersion}", var msg = new GUIMessageBox($"LuaCs Update", $"Your LuaCs client version is different from the version found in the LuaCsForBarotrauma workshop files. Do you want to update?\n\n Client Version: {clientVersion}\n Workshop Version: {workshopVersion}",
new LocalizedString[2] { TextManager.Get("Yes"), TextManager.Get("Cancel") }); new LocalizedString[2] { TextManager.Get("Yes"), TextManager.Get("Cancel") });
msg.Buttons[0].OnClicked = (GUIButton button, object obj) => msg.Buttons[0].OnClicked = (GUIButton button, object obj) =>
{ {
string[] filesToUpdate = new string[] string[] filesToUpdate = trackingFiles.Concat(Directory.EnumerateFiles(luaCsPath, "*.dll", SearchOption.AllDirectories)
{
"Barotrauma.dll", "Barotrauma.deps.json", "Barotrauma.pdb",
"0Harmony.dll", "Mono.Cecil.dll",
"Sigil.dll",
"Mono.Cecil.Mdb.dll", "Mono.Cecil.Pdb.dll",
"Mono.Cecil.Rocks.dll", "MonoMod.Common.dll",
"MoonSharp.Interpreter.dll", "MoonSharp.VsCodeDebugger.dll",
"Microsoft.CodeAnalysis.dll", "Microsoft.CodeAnalysis.CSharp.dll",
"Microsoft.CodeAnalysis.CSharp.Scripting.dll", "Microsoft.CodeAnalysis.Scripting.dll",
"System.Reflection.Metadata.dll", "System.Collections.Immutable.dll",
"System.Runtime.CompilerServices.Unsafe.dll"
};
filesToUpdate = filesToUpdate.Concat(Directory.EnumerateFiles(luaCsPath, "*.dll", SearchOption.AllDirectories)
.Where(s => s.Contains("mscordaccore_amd64_amd64")).Select(s => Path.GetFileName(s))).ToArray(); .Where(s => s.Contains("mscordaccore_amd64_amd64")).Select(s => Path.GetFileName(s))).ToArray();
try try
@@ -21,22 +21,7 @@ namespace Barotrauma
{ {
string path = Path.GetDirectoryName(luaPackage.Path); string path = Path.GetDirectoryName(luaPackage.Path);
string[] filesToCopy = new string[] string[] filesToCopy = trackingFiles.Concat(Directory.EnumerateFiles(path, "*.dll", SearchOption.AllDirectories)
{
"Barotrauma.dll", "Barotrauma.deps.json", "Barotrauma.pdb",
"0Harmony.dll", "Mono.Cecil.dll",
"Sigil.dll",
"Mono.Cecil.Mdb.dll", "Mono.Cecil.Pdb.dll",
"Mono.Cecil.Rocks.dll", "MonoMod.Common.dll",
"MoonSharp.Interpreter.dll", "MoonSharp.VsCodeDebugger.dll",
"Microsoft.CodeAnalysis.dll", "Microsoft.CodeAnalysis.CSharp.dll",
"Microsoft.CodeAnalysis.CSharp.Scripting.dll", "Microsoft.CodeAnalysis.Scripting.dll",
"System.Reflection.Metadata.dll", "System.Collections.Immutable.dll",
"System.Runtime.CompilerServices.Unsafe.dll"
};
filesToCopy = filesToCopy.Concat(Directory.EnumerateFiles(path, "*.dll", SearchOption.AllDirectories)
.Where(s => s.Contains("mscordaccore_amd64_amd64")).Select(s => Path.GetFileName(s))).ToArray(); .Where(s => s.Contains("mscordaccore_amd64_amd64")).Select(s => Path.GetFileName(s))).ToArray();
CreateMissingDirectory(); CreateMissingDirectory();
@@ -59,11 +44,14 @@ namespace Barotrauma
} }
File.WriteAllText(LuaCsSetup.VersionFile, luaPackage.ModVersion); File.WriteAllText(LuaCsSetup.VersionFile, luaPackage.ModVersion);
File.WriteAllText("LuaDedicatedServer.bat", "\"%LocalAppData%/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed/2559634234/Binary/DedicatedServer.exe\"");
#if WINDOWS
File.WriteAllText("LuaCsDedicatedServer.bat", "\"%LocalAppData%/Daedalic Entertainment GmbH/Barotrauma/WorkshopMods/Installed/2559634234/Binary/DedicatedServer.exe\"");
#endif
} }
catch (UnauthorizedAccessException e) catch (UnauthorizedAccessException e)
{ {
LuaCsLogger.LogError("You seem to already have Client Side LuaCs installed, if you are trying to reinstall, make sure uninstall it first (mainmenu button located top left).", LuaCsMessageOrigin.LuaCs); LuaCsLogger.LogError($"Unauthorized file access exception. This usually means you already have LuaCs installed. ${e}", LuaCsMessageOrigin.LuaCs);
return; return;
} }
@@ -7,11 +7,32 @@ namespace Barotrauma
{ {
static partial class LuaCsInstaller static partial class LuaCsInstaller
{ {
private static string[] trackingFiles = new string[]
{
"Barotrauma.dll", "Barotrauma.deps.json", "Barotrauma.pdb",
"0Harmony.dll", "Mono.Cecil.dll",
"Sigil.dll",
"Mono.Cecil.Mdb.dll", "Mono.Cecil.Pdb.dll",
"Mono.Cecil.Rocks.dll", "MonoMod.Common.dll",
"MoonSharp.Interpreter.dll", "MoonSharp.VsCodeDebugger.dll",
"Microsoft.CodeAnalysis.dll", "Microsoft.CodeAnalysis.CSharp.dll",
"Microsoft.CodeAnalysis.CSharp.Scripting.dll", "Microsoft.CodeAnalysis.Scripting.dll",
"System.Reflection.Metadata.dll", "System.Collections.Immutable.dll",
"System.Runtime.CompilerServices.Unsafe.dll",
"Publicized/DedicatedServer.dll", "Publicized/Barotrauma.dll"
};
private static void CreateMissingDirectory() private static void CreateMissingDirectory()
{ {
Directory.CreateDirectory("Temp/Original"); Directory.CreateDirectory("Temp/Original");
Directory.CreateDirectory("Temp/ToDelete"); Directory.CreateDirectory("Temp/ToDelete");
Directory.CreateDirectory("Temp/ToDelete/Publicized");
Directory.CreateDirectory("Temp/Old"); Directory.CreateDirectory("Temp/Old");
Directory.CreateDirectory("Temp/Old/Publicized");
Directory.CreateDirectory("Publicized");
} }
} }