add appsettings writing + organisation
This commit is contained in:
parent
b7016ba0ca
commit
191b6d8b4d
@ -32,11 +32,11 @@ public class Installer
|
||||
public static void DeployBootstrapper()
|
||||
{
|
||||
var bootstrapperPath = Process.GetCurrentProcess()?.MainModule?.FileName ?? throw new Exception("Could not find bootstrapper");
|
||||
var installPath = Path.Combine(InstallPath, "RobloxLegacy.exe");
|
||||
if(bootstrapperPath == installPath) // already installed
|
||||
var newExePath = Path.Combine(InstallPath, "RobloxLegacy.exe");
|
||||
if(bootstrapperPath == newExePath) // already installed
|
||||
return;
|
||||
Directory.CreateDirectory(InstallPath);
|
||||
File.Copy(bootstrapperPath, installPath, true);
|
||||
SetShortcuts(installPath);
|
||||
File.Copy(bootstrapperPath, newExePath, true);
|
||||
SetShortcuts(newExePath);
|
||||
}
|
||||
}
|
5
RobloxLegacy/Resources/AppSettings.xml
Normal file
5
RobloxLegacy/Resources/AppSettings.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Settings>
|
||||
<ContentFolder>content</ContentFolder>
|
||||
<BaseUrl>http://www.roblox.com</BaseUrl>
|
||||
</Settings>
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
@ -6,7 +6,7 @@
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
<Company>RandomServer</Company>
|
||||
<ApplicationIcon>icon.ico</ApplicationIcon>
|
||||
<ApplicationIcon>Resources\icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
@ -20,8 +20,10 @@
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="..\RobloxWrapper\build\lptch.dll">
|
||||
<Link>lptch.dll</Link>
|
||||
<Link>Resources\lptch.dll</Link>
|
||||
</EmbeddedResource>
|
||||
<None Remove="Resources\AppSettings.xml" />
|
||||
<EmbeddedResource Include="Resources\AppSettings.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
@ -7,7 +7,7 @@ public class Resource(string name)
|
||||
private Stream? GetStream()
|
||||
{
|
||||
var assembly = Assembly.GetExecutingAssembly();
|
||||
return assembly.GetManifestResourceStream(name);
|
||||
return assembly.GetManifestResourceStream($"RobloxLegacy.Resources.{name}");
|
||||
}
|
||||
|
||||
public byte[]? GetBytes()
|
||||
|
@ -55,6 +55,14 @@ public class VersionManager : IDisposable
|
||||
fastZip.ExtractZip(tempFile, extractPath, null);
|
||||
}
|
||||
|
||||
private void WriteAppSettings()
|
||||
{
|
||||
var appSettings = new Resource($"AppSettings.xml").GetBytes();
|
||||
if (appSettings == null)
|
||||
throw new Exception("Failed to get AppSettings resource");
|
||||
File.WriteAllBytesAsync(Path.Combine(GetVersionPath(_currentVersion), "AppSettings.xml"), appSettings);
|
||||
}
|
||||
|
||||
private void PatchStudio()
|
||||
{
|
||||
Logger.Info("Patching application...");
|
||||
@ -64,7 +72,7 @@ public class VersionManager : IDisposable
|
||||
Patcher.RenameImports(exePath, ["KERNEL32.dll", "MFPlat.DLL"], DllName);
|
||||
|
||||
// now we can write the dll to the folder
|
||||
var dllContents = new Resource($"RobloxLegacy.{DllName}").GetBytes();
|
||||
var dllContents = new Resource(DllName).GetBytes();
|
||||
if (dllContents == null)
|
||||
throw new Exception("Failed to get dll resource");
|
||||
File.WriteAllBytesAsync(Path.Combine(GetVersionPath(_currentVersion), DllName), dllContents);
|
||||
@ -99,6 +107,7 @@ public class VersionManager : IDisposable
|
||||
}
|
||||
|
||||
_currentVersion = version.UploadHash;
|
||||
WriteAppSettings();
|
||||
Registry.SaveVersion(_appData.PackageName, version.UploadHash);
|
||||
|
||||
// need to patch the executable
|
||||
|
Reference in New Issue
Block a user