diff --git a/windows-installer/new-install/staging.bat b/windows-installer/new-install/staging.bat index 1e0105387..a0f3e5522 100644 --- a/windows-installer/new-install/staging.bat +++ b/windows-installer/new-install/staging.bat @@ -153,7 +153,11 @@ mkdir "%OLDINSTALLDIR%" set OLDINSTALLCHANGED= -if ["%MoveOldExesDlls%"] == [""] goto MoveOldInstallNewFiles +if ["%MoveOldExesDlls%"] == ["1"] ( + goto MoveOldInstallExeDll +) else ( + goto MoveOldInstallNewFiles +) : MoveOldInstallExeDll diff --git a/windows-installer/new-install/uninstall.bat b/windows-installer/new-install/uninstall.bat index 02404a68c..367e5e5c6 100644 --- a/windows-installer/new-install/uninstall.bat +++ b/windows-installer/new-install/uninstall.bat @@ -34,110 +34,6 @@ if ["%PROCEED%"] == ["1"] ( exit ) -: DeleteAllPrompt - -:: TODO: Let's DUMMY this out for now -- I'm not confident that a full-folder -:: deletion wouldn't be disastrous for edge-cases. E.g., what if we somehow got -:: Program Files as the folder to delete? Or C:\? -:: -:: Let's just delete individual files, attempt to delete the folder if it is -:: empty, then leave it up to the user to clear the rest. Yes, their data -:: and mods will be left alone by the uninstaller. -:: -:: mazmazz 12/2/2018 - -set DELETEALL= - -goto DeleteFiles - -echo Do you want to delete your game data and mods? In folder: -echo %USERDIR% - -set /p DELETEALL="[Yes/no] " - -if /I ["%DELETEALL:~0,1%"] == ["n"] ( - set DELETEALL= - goto DeleteFiles -) - -if /I ["%DELETEALL%"] == ["y"] ( - echo Type Yes or No - goto DeleteAllPrompt -) else ( - if /I ["%DELETEALL%"] == ["yes"] ( - set DELETEALL=1 - ) else ( - echo. - goto DeleteAllPrompt - ) -) - -:: TODO: Would be nice to have an additional prompt asking -:: Are you REALLY sure you want to delete your data? You cannot -:: recover it! - -: DeleteAll - -:: Dummy out for now - -goto DeleteFiles - -:: Failsafe to not delete the directory if, SOMEHOW, -:: your install dir or user dir is C:\ -set SAMEFAILSAFE= - -:: Don't delete the install folder until the very last step of the script! -if ["%DELETEALL%"] == ["1"] ( - echo "Deleting all data" - :: TODO: This is wrong! The idea for this check is to see if the user - :: somehow installed SRB2 in C:\. So we obviously don't want to do - :: full folder deletion - :: - :: However, the %CD% == %INSTALLDIR% check doesn't work properly - :: because CD doesn't update when you change the directory? - :: So maybe it will just delete files anyway. I'm really not sure. - :: - if /I ["%CD%"] == ["%INSTALLDIR%"] cd \ - if /I ["%CD%"] == ["%INSTALLDIR%"] ( - echo Install directory is the same as your drive root! - if /I ["%USERDIR%"] == ["%INSTALLDIR%"] ( - echo Let's just delete files instead... - echo. - set DELETEALL= - goto DeleteFiles - ) - set SAMEFAILSAFE=1 - ) else ( - echo. - ) - - if /I ["%USERDIR%"] == ["%INSTALLDIR%"] goto AllDone - - if /I ["%CD%"] == ["%USERDIR%"] cd \ - if /I ["%CD%"] == ["%USERDIR%"] ( - echo User data directory is the same as your drive root! - if ["%SAMEFAILSAFE%"] == ["1"] ( - echo Let's just delete files instead... - echo. - set DELETEALL= - goto DeleteFiles - ) else ( - echo Let's not delete any user folders... - goto AllDone - ) - ) else ( - rmdir /s /q "%USERDIR%" - if ["%SAMEFAILSAFE%"] == ["1"] ( - echo Let's delete your installation files... - echo. - set DELETEALL= - goto DeleteFiles - ) else ( - goto AllDone - ) - ) -) - : DeleteFiles for /F "usebackq tokens=*" %%A in ("%INSTALLDIR%\uninstall-list.txt") do ( @@ -237,15 +133,7 @@ if ["%FINALPROMPT%"] == ["Press Enter key to exit."] ( : DeferredDelete -cd \ - :: Now let's delete our installation folder! -:: If we're not DELETEALL, just attempt to remove the install dir in case it's empty -:: -:: Dummy out for now -:: if ["%DELETEALL%"] == ["1"] ( -if ["0"] == ["1"] ( - start "" /b "cmd" /s /c " rmdir /s /q "%INSTALLDIR%"&exit /b " -) else ( - start "" /b "cmd" /s /c " del /q /f "%INSTALLDIR%\uninstall.bat"&timeout /t 2 > NUL&rmdir "%INSTALLDIR%"&exit /b " -) +cd \ +start "" /b "cmd" /s /c " del /q /f "%INSTALLDIR%\uninstall.bat"&timeout /t 2 > NUL&rmdir "%INSTALLDIR%"&exit /b " +