summaryrefslogtreecommitdiff
path: root/os/win32/installer/install.nsi
diff options
context:
space:
mode:
Diffstat (limited to 'os/win32/installer/install.nsi')
-rw-r--r--os/win32/installer/install.nsi271
1 files changed, 167 insertions, 104 deletions
diff --git a/os/win32/installer/install.nsi b/os/win32/installer/install.nsi
index 598d9d481..b65e2d978 100644
--- a/os/win32/installer/install.nsi
+++ b/os/win32/installer/install.nsi
@@ -1,8 +1,11 @@
-; Define your application name
-!define APPNAME "OpenTTD"
-!define APPNAMEANDVERSION "OpenTTD 0.5.0.0"
-!define APPVERSION "0.5.0.0"
-!define INSTALLERVERSION 27 ;NEED TO UPDATE THIS FOR EVERY RELEASE!!!
+!define APPNAME "OpenTTD" ; Define application name
+!define APPVERSION "0.5.0" ; Define application version
+!define INSTALLERVERSION 28 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
+
+!define APPURLLINK "http://www.openttd.org"
+!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
+!define APPVERSIONINTERNAL "${APPVERSION}.0" ; Needs to be of the format X.X.X.X
+
!define MUI_ICON "..\..\..\openttd.ico"
!define MUI_UNICON "..\..\..\openttd.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp"
@@ -14,7 +17,7 @@ SetCompressor LZMA
; Version Info
Var AddWinPrePopulate
-VIProductVersion "${APPVERSION}"
+VIProductVersion "${APPVERSIONINTERNAL}"
VIAddVersionKey "ProductName" "OpenTTD Installer"
VIAddVersionKey "Comments" "Installs ${APPNAMEANDVERSION}"
VIAddVersionKey "CompanyName" "OpenTTD Developers"
@@ -44,18 +47,17 @@ Var CDDRIVE
!define MUI_ABORTWARNING
!insertmacro MUI_PAGE_WELCOME
-LicenseForceSelection radiobuttons "I &accept this Agreement" "I &do not accept this agreement"
+!define MUI_LICENSEPAGE_RADIOBUTTONS
+!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I &accept this agreement"
+!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I &do not accept this agreement"
!insertmacro MUI_PAGE_LICENSE "..\..\..\COPYING"
-;--------------------------------
-; Rest of pages
!insertmacro MUI_PAGE_COMPONENTS
-
-;--------------------------------
-; New custom page for finding CD
-Page custom SelectCD SelectCD2 ": TTD folder"
+;---------------------------------
+; Custom page for finding TTDLX CD
+Page custom SelectCDEnter SelectCDExit ": TTD folder"
!insertmacro MUI_PAGE_DIRECTORY
@@ -69,9 +71,13 @@ Page custom SelectCD SelectCD2 ": TTD folder"
!insertmacro MUI_PAGE_INSTFILES
-!define MUI_FINISHPAGE_RUN "$INSTDIR\OpenTTD.exe"
+;-----------------------------------------------------
+; New custom page to show UNICODE and MSLU information
+Page custom ShowWarningsPage
+
+!define MUI_FINISHPAGE_RUN "$INSTDIR\openttd.exe"
!define MUI_FINISHPAGE_LINK "Visit OpenTTD's homepage"
-!define MUI_FINISHPAGE_LINK_LOCATION "http://www.openttd.org/"
+!define MUI_FINISHPAGE_LINK_LOCATION "${APPURLLINK}"
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
@@ -84,64 +90,63 @@ Page custom SelectCD SelectCD2 ": TTD folder"
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_RESERVEFILE_LANGDLL
-;--------------------------------
-; Sections
+;--------------------------------------------------------------
+; (Core) OpenTTD install section. Copies all internal game data
Section "!OpenTTD" Section1
-
- ; Set Section properties
+ ; Overwrite files by default, but don't complain on failure
SetOverwrite try
; Make savegame folder
SetOutPath "$INSTDIR\save"
- ; define root variable relative to installer
+ ; Define root variable relative to installer
!define PATH_ROOT "..\..\..\"
; Copy language files
- SetOutPath "$INSTDIR\lang\"
- File ${PATH_ROOT}lang\*.lng
- File ${PATH_ROOT}lang\english.txt
+ SetOutPath "$INSTDIR\lang\"
+ File ${PATH_ROOT}lang\*.lng
+ File ${PATH_ROOT}lang\english.txt
; Copy data files
SetOutPath "$INSTDIR\data\"
File ${PATH_ROOT}data\*.grf
File ${PATH_ROOT}data\opntitle.dat
- ; Copy scenario files
+ ; Copy scenario files (don't choke if they don't exist)
SetOutPath "$INSTDIR\scenario\"
- File ${PATH_ROOT}scenario\*.scn
+ File /nonfatal ${PATH_ROOT}scenario\*.scn
; Copy the rest of the stuff
SetOutPath "$INSTDIR\"
- ;Copy text files
- File ${PATH_ROOT}changelog.txt
- File ${PATH_ROOT}COPYING
- File ${PATH_ROOT}readme.txt
- File ${PATH_ROOT}known-bugs.txt
+ ; Copy text files
+ File ${PATH_ROOT}changelog.txt
+ File ${PATH_ROOT}COPYING
+ File ${PATH_ROOT}readme.txt
+ File ${PATH_ROOT}known-bugs.txt
; Copy executable
- File /oname=OpenTTD.exe ${PATH_ROOT}Release\openttd.exe
+ File /oname=openttd.exe ${PATH_ROOT}Release\openttd.exe
File ${PATH_ROOT}strgen\Debug\strgen.exe
- ; Delete old files from the main dir. they are now placed in data/ and lang/
+ ; Delete old files from the main dir. they are now placed in data/ and lang/
Delete "$INSTDIR\*.lng"
Delete "$INSTDIR\*.grf"
Delete "$INSTDIR\sample.cat"
Delete "$INSTDIR\ttd.exe"
- ;Creates the Registry Entries
- WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Comments" "Visit http://www.openttd.org"
+ ; Create the Registry Entries
+ WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Comments" "Visit ${APPURLLINK}"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayIcon" "$INSTDIR\openttd.exe,0"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayName" "OpenTTD ${APPVERSION}"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion" "${APPVERSION}"
- WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "HelpLink" "http://www.openttd.org"
+ WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "HelpLink" "${APPURLLINK}"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Install Folder" "$INSTDIR"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Publisher" "OpenTTD"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder" "$SHORTCUTS"
WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString" "$INSTDIR\uninstall.exe"
- WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "URLInfoAbout" "http://www.openttd.org"
- ;This key sets the Version DWORD that patches will check against
+ WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "URLInfoAbout" "${APPURLLINK}"
+ ; This key sets the Version DWORD that new installers will check against
WriteRegDWORD HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version" ${INSTALLERVERSION}
!insertmacro MUI_STARTMENU_WRITE_BEGIN "OpenTTD"
@@ -155,13 +160,15 @@ Section "!OpenTTD" Section1
!insertmacro MUI_STARTMENU_WRITE_END
SectionEnd
+;----------------------------------------------------------------------------------
+; TTDLX files install section. Copies all needed TTDLX files from CD or install dir
Section "Copy Game Graphics" Section2
- ; Include files from CD
- ;Let's copy the files from the CD
+ ; Let's copy the files with size approximation
SetOutPath "$INSTDIR\gm"
- CopyFiles "$CDDRIVE\gm\*.gm" "$INSTDIR\gm\"
+ CopyFiles "$CDDRIVE\gm\*.gm" "$INSTDIR\gm\" 1028
SetOutPath "$INSTDIR\data\"
CopyFiles "$CDDRIVE\sample.cat" "$INSTDIR\data\sample.cat" 1566
+ ; Copy Windows files
CopyFiles "$CDDRIVE\trg1r.grf" "$INSTDIR\data\trg1r.grf" 2365
CopyFiles "$CDDRIVE\trgcr.grf" "$INSTDIR\data\trgcr.grf" 260
CopyFiles "$CDDRIVE\trghr.grf" "$INSTDIR\data\trghr.grf" 400
@@ -176,7 +183,8 @@ Section "Copy Game Graphics" Section2
SetOutPath "$INSTDIR\"
SectionEnd
-;----------------------
+;-------------------------------------------
+; Install the uninstaller (option is hidden)
Section -FinishSection
WriteUninstaller "$INSTDIR\uninstall.exe"
SectionEnd
@@ -184,28 +192,33 @@ SectionEnd
; Modern install component descriptions
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${Section1} "OpenTTD is a fully functional clone of TTD and is very playable."
- !insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Copies the game graphics. Requires TTD for Windows."
+ !insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Copies the game graphics. Requires TTD (for Windows)."
!insertmacro MUI_FUNCTION_DESCRIPTION_END
-;!undef SHORTCUTS
-;Uninstall section
-
-Section Uninstall
- MessageBox MB_YESNOCANCEL|MB_ICONQUESTION "Would you like to remove the Saved Game Folders located at '$INSTDIR\Save?' If you choose Yes, your Saved Games will be removed." IDYES RemoveSavedGames IDNO NoRemoveSavedGames
+;-----------------------------------------------
+; Uninstall section, deletes all installed files
+Section "Uninstall"
+ MessageBox MB_YESNO|MB_ICONQUESTION \
+ "Remove the save game folders located at $\"$INSTDIR\save?$\"$\n \
+ If you choose Yes, your saved games will be deleted." \
+ IDYES RemoveSavedGames IDNO NoRemoveSavedGames
RemoveSavedGames:
- Delete "$INSTDIR\Save\AutoSave\*"
- RMDir "$INSTDIR\Save\AutoSave"
- Delete "$INSTDIR\Save\*"
- RMDir "$INSTDIR\Save"
+ Delete "$INSTDIR\save\autosave\*"
+ RMDir "$INSTDIR\save\autosave"
+ Delete "$INSTDIR\save\*"
+ RMDir "$INSTDIR\save"
NoRemoveSavedGames:
- MessageBox MB_YESNOCANCEL|MB_ICONQUESTION "Would you like to remove the Scenario Folders located at '$INSTDIR\Scenario?' If you choose Yes, your Scenarios will be removed." IDYES RemoveScen IDNO NoRemoveScen
+ MessageBox MB_YESNO|MB_ICONQUESTION \
+ "Remove the scenario folders located at $\"$INSTDIR\scenario?$\"$\n \
+ If you choose Yes, your scenarios will be deleted." \
+ IDYES RemoveScen IDNO NoRemoveScen
RemoveScen:
- Delete "$INSTDIR\Scenario\*"
- RMDir "$INSTDIR\Scenario"
+ Delete "$INSTDIR\scenario\*"
+ RMDir "$INSTDIR\scenario"
NoRemoveScen:
- ;Remove from registry...
+ ; Remove from registry...
!insertmacro MUI_STARTMENU_GETFOLDER "OpenTTD" $SHORTCUTS
ReadRegStr $SHORTCUTS HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder"
@@ -238,13 +251,19 @@ Section Uninstall
; Data files
Delete "$INSTDIR\data\opntitle.dat"
+
+ Delete "$INSTDIR\data\2ccmap.grf"
+ Delete "$INSTDIR\data\airports.grf"
+ Delete "$INSTDIR\data\autorail.grf"
+ Delete "$INSTDIR\data\canalsw.grf"
+ Delete "$INSTDIR\data\dosdummy.grf"
+ Delete "$INSTDIR\data\elrailsw.grf"
Delete "$INSTDIR\data\nsignalsw.grf"
Delete "$INSTDIR\data\openttd.grf"
- Delete "$INSTDIR\data\canalsw.grf"
Delete "$INSTDIR\data\trkfoundw.grf"
- Delete "$INSTDIR\data\autorail.grf"
- Delete "$INSTDIR\data\dosdummy.grf"
+
Delete "$INSTDIR\data\sample.cat"
+ ; Windows Data files
Delete "$INSTDIR\data\trg1r.grf"
Delete "$INSTDIR\data\trghr.grf"
Delete "$INSTDIR\data\trgtr.grf"
@@ -257,10 +276,10 @@ Section Uninstall
Delete "$INSTDIR\data\trgc.grf"
Delete "$INSTDIR\data\trgi.grf"
- ;Music
+ ; Music
Delete "$INSTDIR\gm\*.gm"
- ;Language files
+ ; Language files
Delete "$INSTDIR\lang\*.lng"
Delete "$INSTDIR\lang\english.txt"
@@ -271,104 +290,148 @@ Section Uninstall
RMDir "$INSTDIR\lang"
RMDir "$INSTDIR\data"
RMDir "$INSTDIR"
+
SectionEnd
-Function SelectCD
+;------------------------------------------------------------
+; Custom page function to find the TTDLX CD/install location
+Function SelectCDEnter
SectionGetFlags ${Section2} $0
IntOp $1 $0 & 0x80 ; bit 7 set by upgrade, no need to copy files
- IntCmp $1 1 DoneCD ;upgrade doesn't need copy files
+ IntCmp $1 1 DoneCD ; Upgrade doesn't need copy files
IntOp $0 $0 & 1
IntCmp $0 1 NoAbort
- Abort
+ Abort
NoAbort:
GetTempFileName $R0
!insertmacro MUI_HEADER_TEXT "Locate TTD" "Setup needs the location of Transport Tycoon Deluxe in order to continue."
- File /oname=$R0 CDFinder.ini
+ !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "CDFinder.ini" "CDFinder"
+
ClearErrors
- ;Now, let's populate $CDDRIVE
- ReadRegStr $CDDRIVE HKLM "SOFTWARE\Fish Technology Group\Transport Tycoon Deluxe" "HDPath"
+ ; Now, let's populate $CDDRIVE
+ ReadRegStr $R0 HKLM "SOFTWARE\Fish Technology Group\Transport Tycoon Deluxe" "HDPath"
IfErrors NoTTD
- StrCpy $AddWinPrePopulate "Setup has detected your TTD folder. Don't change the folder. Simply press Next."
+ StrCmp $CDDRIVE "" 0 Populated
+ StrCpy $CDDRIVE $R0
+Populated:
+ StrCpy $AddWinPrePopulate "Setup has detected your TTD folder. Don't change the folder. Simply press Next."
Goto TruFinish
NoTTD:
- StrCpy $CDDRIVE ""
- StrCpy $AddWinPrePopulate "Setup couldn't find TTD. Please enter the path where the graphics files from TTD are stored and press Next to continue."
+ StrCpy $AddWinPrePopulate "Setup couldn't find TTD. Please enter the path where the graphics files from TTD are stored and press Next to continue."
TruFinish:
ClearErrors
- WriteINIStr $R0 "Field 2" "State" $CDDRIVE
- WriteINIStr $R0 "Field 3" "Text" $AddWinPrePopulate
+ !insertmacro MUI_INSTALLOPTIONS_WRITE "CDFinder" "Field 2" "State" $CDDRIVE ; TTDLX path
+ !insertmacro MUI_INSTALLOPTIONS_WRITE "CDFinder" "Field 3" "Text" $AddWinPrePopulate ; Caption
DoneCD:
- InstallOptions::dialog $R0
- Pop $R1
+ ; Initialize the dialog *AFTER* we've changed the text otherwise we won't see the changes
+ !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CDFinder"
+ !insertmacro MUI_INSTALLOPTIONS_SHOW
FunctionEnd
-; Exit from page function
-Function SelectCD2
- ReadINIStr $CDDRIVE $R0 "Field 2" "State"
- IfFileExists $CDDRIVE\trg1r.grf "" NoCD
- IfFileExists $CDDRIVE\sample.cat "" NoCD
- IfFileExists $CDDRIVE\trgir.grf hasCD ""
+;----------------------------------------------------------------
+; Custom page function when 'next' is selected for the TTDLX path
+Function SelectCDExit
+ !insertmacro MUI_INSTALLOPTIONS_READ $CDDRIVE "CDFinder" "Field 2" "State"
+ ; If trg1r.grf does not exist at the path, retry with DOS version
+ IfFileExists $CDDRIVE\trg1r.grf "" DosCD
+ IfFileExists $CDDRIVE\trgir.grf "" NoCD
+ IfFileExists $CDDRIVE\sample.cat hasCD NoCD
+DosCD:
+ IfFileExists $CDDRIVE\TRG1.GRF "" NoCD
+ IfFileExists $CDDRIVE\TRGI.GRF "" NoCD
+ IfFileExists $CDDRIVE\SAMPLE.CAT hasCD NoCD
NoCD:
- MessageBox MB_OK "Setup cannot continue without the Transport Tycoon Deluxe Location!"
- Abort
+ MessageBox MB_OK "Setup cannot continue without the Transport Tycoon Deluxe Location!"
+ Abort
hasCD:
FunctionEnd
+;---------------------------------------------------------------------
+; Custom page function to show notices for running OpenTTD
+; We have extracted this custom page as Notice in the .onInit function
+Function ShowWarningsPage
+ !insertmacro MUI_HEADER_TEXT "Installation Complete" "Important notices for OpenTTD usage."
+ !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "notice.ini" "Notice"
+ !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "Notice"
+
+ Call GetWindowsVersion
+ Pop $R0
+
+ ; Hide the MSLU text if the installer is not run on Win9x systems
+ StrCmp $R0 "winnt" 0 Win9x
+ !insertmacro MUI_INSTALLOPTIONS_READ $R1 "Notice" "Field 1" "HWND" ; MSLU groupbox
+ ShowWindow $R1 0
+ !insertmacro MUI_INSTALLOPTIONS_READ $R1 "Notice" "Field 2" "HWND" ; MSLU text
+ ShowWindow $R1 0
+ !insertmacro MUI_INSTALLOPTIONS_READ $R1 "Notice" "Field 3" "HWND" ; MSLU link
+ ShowWindow $R1 0
+Win9x:
+ ClearErrors
+ !insertmacro MUI_INSTALLOPTIONS_SHOW
+FunctionEnd
+
+;-------------------------------------------------------------------------------
+; Determine windows version, returns "win9x" if Win9x/Me or "winnt" on the stack
+Function GetWindowsVersion
+ ClearErrors
+ StrCpy $R0 "winnt"
+
+ ReadRegStr $R1 HKLM "SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion" CurrentVersion
+ IfErrors 0 WinNT
+ StrCpy $R0 "win9x"
+WinNT:
+ ClearErrors
+ Push $R0
+FunctionEnd
Var OLDVERSION
Var UninstallString
+;-----------------------------------------------------------------------------------
+; NSIS Initialize function, determin if we are going to install/upgrade or uninstall
Function .onInit
StrCpy $SHORTCUTS "OpenTTD"
SectionSetFlags 0 17
- ;Want to have a splash BMP? Uncomment these lines - CAREFUL WITH FILE SIZE
-
-; # the plugins dir is automatically deleted when the installer exits
-; InitPluginsDir
-; File /oname=$PLUGINSDIR\splash.bmp "C:\Documents and Settings\Administrator\My Documents\My Pictures\OpenTTD Splash.bmp"
-; #optional
-; #File /oname=$PLUGINSDIR\splash.wav "C:\myprog\sound.wav"
-;
-; ;MessageBox MB_OK "Fading"
-;
-; advsplash::show 3000 600 400 -1 $PLUGINSDIR\splash
-;
-; Pop $0 ; $0 has '1' if the user closed the splash screen early,
-; ; '0' if everything closed normal, and '-1' if some error occured.
-;End Splash Area
- ;Starts Setup - let's look for an older version of OpenTTD
+ ; Starts Setup - let's look for an older version of OpenTTD
ReadRegDWORD $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version"
IfErrors ShowWelcomeMessage ShowUpgradeMessage
ShowWelcomeMessage:
ReadRegStr $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version"
- ;In the event someone still has OpenTTD 0.1, this will detect that (that installer used a string instead of dword entry)
+ ; In the event someone still has OpenTTD 0.1, this will detect that (that installer used a string instead of dword entry)
IfErrors FinishCallback
ShowUpgradeMessage:
IntCmp ${INSTALLERVERSION} $R8 VersionsAreEqual InstallerIsOlder WelcomeToSetup
WelcomeToSetup:
- ;An older version was found. Let's let the user know there's an upgrade that will take plce.
+ ; An older version was found. Let's let the user know there's an upgrade that will take place.
ReadRegStr $OLDVERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion"
- ;Gets the older version then displays it in a message box
- MessageBox MB_OK|MB_ICONINFORMATION "Welcome to ${APPNAMEANDVERSION} Setup.$\n$\nThis will allow you to upgrade from version $OLDVERSION."
+ ; Gets the older version then displays it in a message box
+ MessageBox MB_OK|MB_ICONINFORMATION \
+ "Welcome to ${APPNAMEANDVERSION} Setup.$\n \
+ This will allow you to upgrade from version $OLDVERSION."
SectionSetFlags ${Section2} 0x80 ; set bit 7
Goto FinishCallback
VersionsAreEqual:
ReadRegStr $UninstallString HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString"
IfFileExists "$UninstallString" "" FinishCallback
- MessageBox MB_YESNO|MB_ICONQUESTION "Setup detected ${APPNAMEANDVERSION} on your system. That's the version this program will install.$\n$\nAre you trying to uninstall it?" IDYES DoUninstall IDNO FinishCallback
-DoUninstall: ;You have the same version as this installer. This allows you to uninstall.
+ MessageBox MB_YESNO|MB_ICONQUESTION \
+ "Setup detected ${APPNAMEANDVERSION} on your system. That's the version this program will install.$\n \
+ Are you trying to uninstall it?" \
+ IDYES DoUninstall IDNO FinishCallback
+DoUninstall: ; You have the same version as this installer. This allows you to uninstall.
Exec "$UninstallString"
Quit
InstallerIsOlder:
- MessageBox MB_OK|MB_ICONSTOP "You have a newer version of ${APPNAME}.$\n$\nSetup will now exit."
+ MessageBox MB_OK|MB_ICONSTOP \
+ "You have a newer version of ${APPNAME}.$\n \
+ Setup will now exit."
Quit
FinishCallback: