diff options
author | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-05-22 18:55:09 -0400 |
---|---|---|
committer | Jesse Plamondon-Willard <github@jplamondonw.com> | 2017-05-22 18:55:09 -0400 |
commit | 5fa13459d367bc5e3248a8b1447f4f56354e1fae (patch) | |
tree | bb15472d8abd3a65adb255254892814bbff84e9e | |
parent | 51d56f1eecdc171052fea425f92562f695c068b0 (diff) | |
download | SMAPI-5fa13459d367bc5e3248a8b1447f4f56354e1fae.tar.gz SMAPI-5fa13459d367bc5e3248a8b1447f4f56354e1fae.tar.bz2 SMAPI-5fa13459d367bc5e3248a8b1447f4f56354e1fae.zip |
show friendly error when running install.exe from within zip file
-rw-r--r-- | release-notes.md | 8 | ||||
-rw-r--r-- | src/StardewModdingAPI.Installer/InteractiveInstaller.cs | 5 |
2 files changed, 9 insertions, 4 deletions
diff --git a/release-notes.md b/release-notes.md index 3bf68a1e..c654e408 100644 --- a/release-notes.md +++ b/release-notes.md @@ -14,9 +14,11 @@ For mod developers: See [log](https://github.com/Pathoschild/SMAPI/compare/1.13.1...1.14). For players: -* SMAPI now shows a friendly error when it can't detect the game. -* SMAPI now shows a friendly error when you have Stardew Valley 1.11 or earlier (which aren't compatible). -* SMAPI now shows a friendly error if a mod dependency is missing (if it's listed in the mod's manifest). +* SMAPI now shows friendly errors when... + * it can't detect the game; + * a mod dependency is missing (if it's listed in the mod manifest); + * you have Stardew Valley 1.11 or earlier (which aren't compatible); + * you run `install.exe` from within the downloaded zip file. * Fixed "unknown mod" deprecation warnings by improving how SMAPI detects the mod using the event. For modders: diff --git a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs index 01f7a01f..43cb7d70 100644 --- a/src/StardewModdingAPI.Installer/InteractiveInstaller.cs +++ b/src/StardewModdingAPI.Installer/InteractiveInstaller.cs @@ -158,7 +158,10 @@ namespace StardewModdingApi.Installer ****/ if (!packageDir.Exists) { - this.PrintError($"The 'internal/{platform}' package folder is missing (should be at {packageDir})."); + this.PrintError(platform == Platform.Windows && packageDir.FullName.Contains(Path.GetTempPath()) && packageDir.FullName.Contains(".zip") + ? "The installer is missing some files. It looks like you're running the installer from inside the downloaded zip; make sure you unzip the downloaded file first, then run the installer from the unzipped folder." + : $"The 'internal/{platform}' package folder is missing (should be at {packageDir})." + ); Console.ReadLine(); return; } |