(Un)Installer improvements

Inno Setup has proven limited in its ability to uninstall because its hard to keep up to date which folders it should ask or keep and not everyone has used the Offline Installer yet wishes to use an uninstaller. This commit adds a new uninstall script which my future versions of the uninstaller will look for to delete the files. Eliminating the risk of the setup accidentally deleting your stories.

If the proper Inno Setup uninstaller is detected the script will terminate itself and launch that first, to ensure the entire uninstallation is handled. If not, it will warn you before removing anything.

It will also get rid of the virtual KoboldAI drives and we can update it trough normal git means.
This commit is contained in:
Henk 2022-05-29 00:25:53 +02:00
parent 8ae0c8311b
commit 6ae12f29e4
2 changed files with 33 additions and 1 deletions

32
Uninstall.bat Normal file
View File

@ -0,0 +1,32 @@
@echo off
cd /D %~dp0
TITLE KoboldAI Uninstall Helper
SET /P M=<loader.settings
IF %M%==3 subst /D B:
IF %M%==1 subst /D K:
IF "%1" == "FORCE" GOTO UNINSTALL
IF EXIST "Uninstall\unins000.exe" (
start Uninstall\unins000.exe
exit
) ELSE (
echo This will remove all KoboldAI folders that do not contain user data
pause
GOTO UNINSTALL
)
:UNINSTALL
echo Uninstallation in progress, please wait...
set DM=Y
attrib -h .git >nul
for /d %%D in (*) do if not "%%~nxD"=="stories" if not "%%~nxD"=="userscripts" if not "%%~nxD"=="settings" if not "%%~nxD"=="softprompts" if not "%%~nxD"=="models" if not "%%~nxD"=="Uninstall" rmdir /S /Q %%~nxD
for %%i in (*) do if not "%%i"=="Uninstall.bat" del /q "%%i"
set /P DM=Would you like to delete the models folder? (Y/n) :
IF %DM%==Y rmdir models /s /q
IF %DM%==y rmdir models /s /q
set DM=N
set /P DM=Would you like to delete all other user folders? (y/N) :
IF %DM%==Y rmdir stories userscripts settings softprompts /s /q
IF %DM%==y rmdir stories userscripts settings softprompts /s /q
del Uninstall.bat

View File

@ -50,4 +50,4 @@ git remote add origin %origin%
git fetch --all
git checkout %branch% -f
git reset --hard origin/%branch%
cmd /k
%windir%\system32\timeout -t 10