summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Plamondon-Willard <github@jplamondonw.com>2017-05-22 18:55:09 -0400
committerJesse Plamondon-Willard <github@jplamondonw.com>2017-05-22 18:55:09 -0400
commit5fa13459d367bc5e3248a8b1447f4f56354e1fae (patch)
treebb15472d8abd3a65adb255254892814bbff84e9e
parent51d56f1eecdc171052fea425f92562f695c068b0 (diff)
downloadSMAPI-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.md8
-rw-r--r--src/StardewModdingAPI.Installer/InteractiveInstaller.cs5
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;
}