summaryrefslogtreecommitdiff
path: root/src/SMAPI.Installer/assets/windows-install.bat
diff options
context:
space:
mode:
Diffstat (limited to 'src/SMAPI.Installer/assets/windows-install.bat')
-rw-r--r--src/SMAPI.Installer/assets/windows-install.bat53
1 files changed, 47 insertions, 6 deletions
diff --git a/src/SMAPI.Installer/assets/windows-install.bat b/src/SMAPI.Installer/assets/windows-install.bat
index 2cd98554..2e0be906 100644
--- a/src/SMAPI.Installer/assets/windows-install.bat
+++ b/src/SMAPI.Installer/assets/windows-install.bat
@@ -1,8 +1,49 @@
@echo off
-echo "%~dp0" | findstr /C:"%TEMP%" 1>nul
-if not errorlevel 1 (
- echo Oops! It looks like you're running the installer from inside a zip file. Make sure you unzip the download first.
- pause
-) else (
- start /WAIT /B internal\windows-install.exe
+
+SET installerDir=%~dp0
+
+REM make sure we're not running within a zip folder
+echo %installerDir% | findstr /C:"%TEMP%" 1>nul
+if %ERRORLEVEL% EQU 0 (
+ echo Oops! It looks like you're running the installer from inside a zip file. Make sure you unzip the download first.
+ echo.
+ pause
+ exit
+)
+
+REM make sure .NET 5 is installed
+WHERE dotnet /q
+if %ERRORLEVEL% NEQ 0 (
+ echo Oops! You must have .NET 5 ^(desktop x64^) installed to use SMAPI: https://dotnet.microsoft.com/download/dotnet/5.0/runtime
+ echo.
+ pause
+ exit
+)
+dotnet --info | findstr /C:"Microsoft.WindowsDesktop.App 5." 1>nul
+if %ERRORLEVEL% NEQ 0 (
+ echo Oops! You must have .NET 5 ^(desktop x64^) installed to use SMAPI: https://dotnet.microsoft.com/download/dotnet/5.0/runtime
+ echo.
+ pause
+ exit
+)
+
+REM make sure an antivirus hasn't deleted the installer DLL
+if not exist "%installerDir%internal\windows\SMAPI.Installer.dll" (
+ echo Oops! SMAPI is missing one of its files. Your antivirus might have deleted it.
+ echo Missing file: %installerDir%internal\windows\SMAPI.Installer.dll
+ echo.
+ pause
+ exit
+)
+
+REM start installer
+dotnet internal\windows\SMAPI.Installer.dll
+
+REM keep window open if it failed
+if %ERRORLEVEL% NEQ 0 (
+ echo.
+ echo Oops! The SMAPI installer seems to have failed. The error details may be shown above.
+ echo.
+ pause
+ exit
)