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).
|
* 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
|
## 3.10
|
||||||
Released 03 May 2021 for Stardew Valley 1.5.4 or later. See [release highlights](https://www.patreon.com/posts/50764911).
|
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.exe.mdb"); // Linux/macOS only
|
||||||
yield return GetInstallPath("StardewModdingAPI.pdb"); // Windows only
|
yield return GetInstallPath("StardewModdingAPI.pdb"); // Windows only
|
||||||
yield return GetInstallPath("StardewModdingAPI.xml");
|
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("smapi-internal");
|
||||||
yield return GetInstallPath("steam_appid.txt");
|
yield return GetInstallPath("steam_appid.txt");
|
||||||
|
|
||||||
|
@ -424,25 +425,23 @@ namespace StardewModdingApi.Installer
|
||||||
this.RecursiveCopy(sourceEntry, paths.GameDir);
|
this.RecursiveCopy(sourceEntry, paths.GameDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isWindows64Bit)
|
// handle 64-bit file
|
||||||
{
|
{
|
||||||
this.PrintDebug("Making SMAPI 64-bit...");
|
FileInfo x64Executable = new FileInfo(Path.Combine(paths.GameDir.FullName, "StardewModdingAPI-x64.exe"));
|
||||||
FileInfo x64Executable = new FileInfo(Path.Combine(paths.BundleDir.FullName, "StardewModdingAPI-x64.exe"));
|
if (isWindows64Bit)
|
||||||
if (x64Executable.Exists)
|
|
||||||
{
|
{
|
||||||
string targetName = "StardewModdingAPI.exe";
|
this.PrintDebug("Making SMAPI 64-bit...");
|
||||||
this.InteractivelyDelete(Path.Combine(paths.GameDir.FullName, targetName));
|
if (x64Executable.Exists)
|
||||||
this.InteractivelyDelete(Path.Combine(paths.GameDir.FullName, x64Executable.Name));
|
{
|
||||||
|
string targetPath = Path.Combine(paths.GameDir.FullName, "StardewModdingAPI.exe");
|
||||||
this.RecursiveCopy(x64Executable, paths.GameDir);
|
this.InteractivelyDelete(targetPath);
|
||||||
File.Move(Path.Combine(paths.GamePath, x64Executable.Name), Path.Combine(paths.GamePath, targetName));
|
x64Executable.MoveTo(targetPath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
this.PrintError($"Oops! Could not find the required '{x64Executable.Name}' installer file. SMAPI may not work correctly.");
|
||||||
this.PrintError($"Oops! Could not find the required '{x64Executable.Name}' installer file. SMAPI was unable to install correctly.");
|
|
||||||
Console.ReadLine();
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
else if (x64Executable.Exists)
|
||||||
|
x64Executable.Delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
// replace mod launcher (if possible)
|
// replace mod launcher (if possible)
|
||||||
|
|
Loading…
Reference in New Issue