summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}