-
Notifications
You must be signed in to change notification settings - Fork 97
Add workspace to MiniInstaller #1037
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Add workspace to MiniInstaller #1037
Conversation
Wartori54
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just some polish needed here and there.
About your fast mode question, I'd be fine with merging without any changes to fast mode, it is meant for advanced users only, so if the installation breaks the user will notice that and be able to fix it.
|
Thanks @Wartori54 for the feedback, all comments are addressed in the latest commit. |
Wartori54
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than this LGTM. Would appreciate some testing on other platforms before merging though.
MiniInstaller/DepCalls.cs
Outdated
| try { | ||
| // We're lazy. | ||
| Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", Globals.PathGame); | ||
| Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", $"{Globals.PathMiniInstallerWorkspace}:{Globals.PathGame}"); // Prioritize workspace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While on Unix systems the path separator is always :, on windows it is not, use Path.PathSeparator instead to ensure it working on all platforms.
MiniInstaller/DepCalls.cs
Outdated
| Logger.LogLine($"Running MonoMod.RuntimeDetour.HookGen for {asm}"); | ||
| // We're lazy. | ||
| Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", Globals.PathGame); | ||
| Environment.SetEnvironmentVariable("MONOMOD_DEPDIRS", $"{Globals.PathMiniInstallerWorkspace}:{Globals.PathGame}"); // Prioritize workspace |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above here.
|
The latest commit uses |
This PR adds a workspace folder to the MiniInstaller installation process, so it doesn't overwrite
Celeste.exeearly (for example, during the step applying Everest patches, after coreification).The workspace is used to store the
Celeste.exe/Celeste.dllfiles, until after the step applying Everest patches, reducing the time window during which the process can be interrupted and left in a state which would alloworig/Celeste.exeto be coreified.This is a work in progress, the following still needs to be done:
Fixes #983.
Fixes #984.
As far as I understand, #984 occurs only because of #983.