(svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user