From 14edc6f46bdd7da68a8a3b464b80efeb2fed8e53 Mon Sep 17 00:00:00 2001 From: dolphin6k Date: Thu, 21 Oct 2021 23:48:29 +0900 Subject: [PATCH] Windows installer to invoke uninstaller if old x86 type installation detected. --- win32/tuxpaint.iss | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/win32/tuxpaint.iss b/win32/tuxpaint.iss index 452ebf02d..eab4a5d0c 100644 --- a/win32/tuxpaint.iss +++ b/win32/tuxpaint.iss @@ -244,13 +244,17 @@ end; Procedure ForceUninstallPreviousX86Install(); var - Version: String; + ResultCode: Integer; begin - if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\WOW6432Node\TuxPaint', - 'Version', Version) then + if FileExists('C:\Program Files (x86)\TuxPaint\unins000.exe') then begin - MsgBox('Please uninstall previous version.', mbInformation, MB_OK); - Abort; + if MsgBox('Old version will be uninstalled automatically.', mbInformation, MB_OKCANCEL) = IDOK then + begin + Exec('C:\Program Files (x86)\TuxPaint\unins000.exe', '/SILENT', '', SW_SHOW, ewWaitUntilTerminated, ResultCode); + end + else begin + Abort; + end; end; end;