diff options
author | glx <glx@openttd.org> | 2010-11-11 17:06:33 +0000 |
---|---|---|
committer | glx <glx@openttd.org> | 2010-11-11 17:06:33 +0000 |
commit | 6543339f9102212c56b30ae074b12759ecefcc96 (patch) | |
tree | af6aa9420ac1aab44f68339cc7c619af18e96b83 /os | |
parent | 67d071d0338affe7b8ed565a72150ff5d7513737 (diff) | |
download | openttd-6543339f9102212c56b30ae074b12759ecefcc96.tar.xz |
(svn r21146) -Fix [FS#4212]: make sure to be upgraded openttd is not running when installing (Win32)
Diffstat (limited to 'os')
-rw-r--r-- | os/windows/installer/install.nsi | 21 |
1 files changed, 20 insertions, 1 deletions
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 |