From 6543339f9102212c56b30ae074b12759ecefcc96 Mon Sep 17 00:00:00 2001 From: glx Date: Thu, 11 Nov 2010 17:06:33 +0000 Subject: (svn r21146) -Fix [FS#4212]: make sure to be upgraded openttd is not running when installing (Win32) --- os/windows/installer/install.nsi | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'os') diff --git a/os/windows/installer/install.nsi b/os/windows/installer/install.nsi index 4e0adac1b..692970863 100644 --- a/os/windows/installer/install.nsi +++ b/os/windows/installer/install.nsi @@ -102,6 +102,9 @@ Page custom SelectCDEnter SelectCDExit ": TTD folder" ;-------------------------------------------------------------- ; (Core) OpenTTD install section. Copies all internal game data Section "!OpenTTD" Section1 + ; Make sure to be upgraded OpenTTD is not running + Call CheckOpenTTDRunning + ; Overwrite files by default, but don't complain on failure SetOverwrite try @@ -517,7 +520,6 @@ Abort: Done: FunctionEnd - ;------------------------------------------------------------------------------- ; Check whether we're not running an installer for NT on 9x and vice versa Function CheckWindowsVersion @@ -537,6 +539,23 @@ Abort: Done: FunctionEnd +;------------------------------------------------------------------------------- +; Check whether OpenTTD is running +Function CheckOpenTTDRunning + IfFileExists "$INSTDIR\openttd.exe" 0 Done +Retry: + FindProcDLL::FindProc "openttd.exe" + Pop $R0 + IntCmp $R0 1 0 Done + ClearErrors + Delete "$INSTDIR\openttd.exe" + IfErrors 0 Done + ClearErrors + MessageBox MB_RETRYCANCEL|MB_ICONEXCLAMATION "OpenTTD is running. Please close it and retry." IDRETRY Retry + Abort +Done: +FunctionEnd + Var OLDVERSION Var UninstallString -- cgit v1.2.3-54-g00ecf