From 7f8d738e86ae602edc91f0fa80643ee0cf47b089 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 00:03:12 -0400 Subject: tweak installer to suggest common fix for file permission issues --- src/StardewModdingAPI.Installer/InteractiveInstaller.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/StardewModdingAPI.Installer') diff --git a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs index fffba30f..b59e8305 100644 --- a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs +++ b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs @@ -435,7 +435,7 @@ namespace StardewModdingApi.Installer catch (Exception ex) { this.PrintError($"Oops! The installer couldn't delete {path}: [{ex.GetType().Name}] {ex.Message}."); - this.PrintError("Please delete it yourself, then press any key to retry."); + this.PrintError("Try rebooting your computer and then run the installer again. If that doesn't work, try deleting it yourself then press any key to retry."); Console.ReadKey(); } } -- cgit From 489cacca5ef79a77ca04d12395ff1ec5c7a05c5f Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 19:12:48 -0400 Subject: minor cleanup --- .../InteractiveInstaller.cs | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/StardewModdingAPI.Installer') diff --git a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs index b59e8305..e1e62d89 100644 --- a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs +++ b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs @@ -65,30 +65,30 @@ namespace StardewModdingApi.Installer /// The folder for SMAPI mods. private IEnumerable GetUninstallPaths(DirectoryInfo installDir, DirectoryInfo modsDir) { - Func installPath = path => Path.Combine(installDir.FullName, path); + string GetInstallPath(string path) => Path.Combine(installDir.FullName, path); // common - yield return installPath("Mono.Cecil.dll"); - yield return installPath("Newtonsoft.Json.dll"); - yield return installPath("StardewModdingAPI.exe"); - yield return installPath("StardewModdingAPI.config.json"); - yield return installPath("StardewModdingAPI.data.json"); - yield return installPath("StardewModdingAPI.AssemblyRewriters.dll"); - yield return installPath("steam_appid.txt"); + yield return GetInstallPath("Mono.Cecil.dll"); + yield return GetInstallPath("Newtonsoft.Json.dll"); + yield return GetInstallPath("StardewModdingAPI.exe"); + yield return GetInstallPath("StardewModdingAPI.config.json"); + yield return GetInstallPath("StardewModdingAPI.data.json"); + yield return GetInstallPath("StardewModdingAPI.AssemblyRewriters.dll"); + yield return GetInstallPath("steam_appid.txt"); // Linux/Mac only - yield return installPath("StardewModdingAPI"); - yield return installPath("StardewModdingAPI.exe.mdb"); - yield return installPath("System.Numerics.dll"); - yield return installPath("System.Runtime.Caching.dll"); + yield return GetInstallPath("StardewModdingAPI"); + yield return GetInstallPath("StardewModdingAPI.exe.mdb"); + yield return GetInstallPath("System.Numerics.dll"); + yield return GetInstallPath("System.Runtime.Caching.dll"); // Windows only - yield return installPath("StardewModdingAPI.pdb"); + yield return GetInstallPath("StardewModdingAPI.pdb"); // obsolete - yield return installPath("Mods/.cache"); // 1.3-1.4 - yield return installPath("Mono.Cecil.Rocks.dll"); // 1.3–1.8 - yield return installPath("StardewModdingAPI-settings.json"); // 1.0-1.4 + yield return GetInstallPath("Mods/.cache"); // 1.3-1.4 + yield return GetInstallPath("Mono.Cecil.Rocks.dll"); // 1.3–1.8 + yield return GetInstallPath("StardewModdingAPI-settings.json"); // 1.0-1.4 if (modsDir.Exists) { foreach (DirectoryInfo modDir in modsDir.EnumerateDirectories()) -- cgit From 01917e70a28a4a9028417d1784ef7f2ab06869a7 Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 21:55:01 -0400 Subject: fix rare issue where installer crashes trying to delete a bundled mod from %appdata% (#266) --- src/StardewModdingAPI.Installer/InteractiveInstaller.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/StardewModdingAPI.Installer') diff --git a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs index e1e62d89..c456fdc0 100644 --- a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs +++ b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs @@ -592,7 +592,7 @@ namespace StardewModdingApi.Installer if (isDir && packagedModNames.Contains(entry.Name, StringComparer.InvariantCultureIgnoreCase)) { this.PrintDebug($" Deleting {entry.Name} because it's bundled into SMAPI..."); - entry.Delete(); + this.InteractivelyDelete(entry.FullName); continue; } -- cgit From a9c220c0fe0fd6f52bee73a8f5da91fd1d007d0f Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Sun, 23 Apr 2017 23:00:51 -0400 Subject: minor cleanup --- src/StardewModdingAPI.Installer/InteractiveInstaller.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/StardewModdingAPI.Installer') diff --git a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs index c456fdc0..38c19d2b 100644 --- a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs +++ b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs @@ -626,9 +626,8 @@ namespace StardewModdingApi.Installer private void Move(FileSystemInfo entry, string newPath) { // file - if (entry is FileInfo) + if (entry is FileInfo file) { - FileInfo file = (FileInfo)entry; file.CopyTo(newPath); file.Delete(); } -- cgit