fix installer leaving unneeded StardewModdingAPI-x64.exe file in installer
This commit is contained in:
parent
5d3d919d49
commit
8d9d8341cd
|
@ -7,6 +7,10 @@
|
|||
* Migrated to Harmony 2.0 (see [_migrate to Harmony 2.0_](https://stardewvalleywiki.com/Modding:Migrate_to_Harmony_2.0) for more info).
|
||||
-->
|
||||
|
||||
## Upcoming release
|
||||
* For players:
|
||||
* Fixed installer leaving unneeded `StardewModdingAPI-x64.exe` file in the game folder.
|
||||
|
||||
## 3.10
|
||||
Released 03 May 2021 for Stardew Valley 1.5.4 or later. See [release highlights](https://www.patreon.com/posts/50764911).
|
||||
|
||||
|
|
|
@ -45,6 +45,7 @@ namespace StardewModdingApi.Installer
|
|||
yield return GetInstallPath("StardewModdingAPI.exe.mdb"); // Linux/macOS only
|
||||
yield return GetInstallPath("StardewModdingAPI.pdb"); // Windows only
|
||||
yield return GetInstallPath("StardewModdingAPI.xml");
|
||||
yield return GetInstallPath("StardewModdingAPI-x64.exe"); // not normally added to game folder, but may be mistakenly added by a manual install
|
||||
yield return GetInstallPath("smapi-internal");
|
||||
yield return GetInstallPath("steam_appid.txt");
|
||||
|
||||
|
@ -424,25 +425,23 @@ namespace StardewModdingApi.Installer
|
|||
this.RecursiveCopy(sourceEntry, paths.GameDir);
|
||||
}
|
||||
|
||||
// handle 64-bit file
|
||||
{
|
||||
FileInfo x64Executable = new FileInfo(Path.Combine(paths.GameDir.FullName, "StardewModdingAPI-x64.exe"));
|
||||
if (isWindows64Bit)
|
||||
{
|
||||
this.PrintDebug("Making SMAPI 64-bit...");
|
||||
FileInfo x64Executable = new FileInfo(Path.Combine(paths.BundleDir.FullName, "StardewModdingAPI-x64.exe"));
|
||||
if (x64Executable.Exists)
|
||||
{
|
||||
string targetName = "StardewModdingAPI.exe";
|
||||
this.InteractivelyDelete(Path.Combine(paths.GameDir.FullName, targetName));
|
||||
this.InteractivelyDelete(Path.Combine(paths.GameDir.FullName, x64Executable.Name));
|
||||
|
||||
this.RecursiveCopy(x64Executable, paths.GameDir);
|
||||
File.Move(Path.Combine(paths.GamePath, x64Executable.Name), Path.Combine(paths.GamePath, targetName));
|
||||
string targetPath = Path.Combine(paths.GameDir.FullName, "StardewModdingAPI.exe");
|
||||
this.InteractivelyDelete(targetPath);
|
||||
x64Executable.MoveTo(targetPath);
|
||||
}
|
||||
else
|
||||
{
|
||||
this.PrintError($"Oops! Could not find the required '{x64Executable.Name}' installer file. SMAPI was unable to install correctly.");
|
||||
Console.ReadLine();
|
||||
return;
|
||||
this.PrintError($"Oops! Could not find the required '{x64Executable.Name}' installer file. SMAPI may not work correctly.");
|
||||
}
|
||||
else if (x64Executable.Exists)
|
||||
x64Executable.Delete();
|
||||
}
|
||||
|
||||
// replace mod launcher (if possible)
|
||||
|
|
Loading…
Reference in New Issue