os/win32/installer/install.nsi
author rubidium
Sun, 16 Nov 2008 13:05:39 +0000
changeset 10329 e7801276a827
parent 10046 97d4f53904ee
child 10334 88a42d6f712e
permissions -rw-r--r--
(svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
     1
!define APPNAME "OpenTTD"   ; Define application name
9558
71f4ab48b90e (svn r13578) -Merge: documentation updates from the 0.6 branch.
rubidium
parents: 8672
diff changeset
     2
!define APPVERSION "0.6.1"  ; Define application version
71f4ab48b90e (svn r13578) -Merge: documentation updates from the 0.6 branch.
rubidium
parents: 8672
diff changeset
     3
!define INSTALLERVERSION 48 ; NEED TO UPDATE THIS FOR EVERY RELEASE!!!
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
     4
!include ${VERSION_INCLUDE}
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
     5
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
     6
!define APPURLLINK "http://www.openttd.org"
9558
71f4ab48b90e (svn r13578) -Merge: documentation updates from the 0.6 branch.
rubidium
parents: 8672
diff changeset
     7
!define APPNAMEANDVERSION "${APPNAME} ${APPVERSION}"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
     8
!define APPVERSIONINTERNAL "${APPVERSION}.0" ; Needs to be of the format X.X.X.X
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
     9
6169
68de0fd4c517 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller.
Darkvater
parents: 6168
diff changeset
    10
!define MUI_ICON "..\..\..\media\openttd.ico"
68de0fd4c517 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller.
Darkvater
parents: 6168
diff changeset
    11
!define MUI_UNICON "..\..\..\media\openttd.ico"
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
    12
!define MUI_WELCOMEFINISHPAGE_BITMAP "welcome.bmp"
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
    13
!define MUI_HEADERIMAGE
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
    14
!define MUI_HEADERIMAGE_BITMAP "top.bmp"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    15
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    16
BrandingText "OpenTTD Installer"
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
    17
SetCompressor LZMA
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    18
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    19
; Version Info
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    20
Var AddWinPrePopulate
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    21
VIProductVersion "${APPVERSIONINTERNAL}"
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    22
VIAddVersionKey "ProductName" "OpenTTD Installer ${APPBITS} bits version ${EXTRA_VERSION}"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    23
VIAddVersionKey "Comments" "Installs ${APPNAMEANDVERSION}"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    24
VIAddVersionKey "CompanyName" "OpenTTD Developers"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    25
VIAddVersionKey "FileDescription" "Installs ${APPNAMEANDVERSION}"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    26
VIAddVersionKey "ProductVersion" "${APPVERSION}"
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    27
VIAddVersionKey "InternalName" "InstOpenTTD-${APPARCH}"
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    28
VIAddVersionKey "FileVersion" "${APPVERSION}-${APPARCH}"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    29
VIAddVersionKey "LegalCopyright" " "
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    30
; Main Install settings
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    31
Name "${APPNAMEANDVERSION} ${APPBITS} bits version ${EXTRA_VERSION}"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    32
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    33
; NOTE: Keep trailing backslash!
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    34
InstallDirRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Install Folder"
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    35
OutFile "openttd-${APPVERSION}-${APPARCH}.exe"
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
    36
CRCCheck force
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    37
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    38
ShowInstDetails show
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    39
ShowUninstDetails show
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    40
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    41
Var SHORTCUTS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    42
Var CDDRIVE
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    43
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    44
; Modern interface settings
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    45
!include "MUI.nsh"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    46
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    47
!define MUI_ABORTWARNING
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    48
!define MUI_WELCOMEPAGE_TITLE_3LINES
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    49
!insertmacro MUI_PAGE_WELCOME
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    50
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    51
!define MUI_LICENSEPAGE_RADIOBUTTONS
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    52
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT "I &accept this agreement"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    53
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE "I &do not accept this agreement"
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
    54
!insertmacro MUI_PAGE_LICENSE "..\..\..\COPYING"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    55
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    56
!insertmacro MUI_PAGE_COMPONENTS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    57
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    58
;---------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    59
; Custom page for finding TTDLX CD
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    60
Page custom SelectCDEnter SelectCDExit ": TTD folder"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    61
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    62
!insertmacro MUI_PAGE_DIRECTORY
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    63
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    64
;Start Menu Folder Page Configuration
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    65
!define MUI_STARTMENUPAGE_DEFAULTFOLDER $SHORTCUTS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    66
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKEY_LOCAL_MACHINE"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    67
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    68
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "Shortcut Folder"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    69
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    70
!insertmacro MUI_PAGE_STARTMENU "OpenTTD" $SHORTCUTS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    71
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    72
!insertmacro MUI_PAGE_INSTFILES
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    73
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    74
;-----------------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    75
; New custom page to show UNICODE and MSLU information
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    76
Page custom ShowWarningsPage
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    77
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    78
!define MUI_FINISHPAGE_TITLE_3LINES
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    79
!define MUI_FINISHPAGE_RUN_TEXT "Run ${APPNAMEANDVERSION} now!"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    80
!define MUI_FINISHPAGE_RUN "$INSTDIR\openttd.exe"
6170
abff1cff6903 (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory.
Darkvater
parents: 6169
diff changeset
    81
!define MUI_FINISHPAGE_LINK "Visit the OpenTTD site for latest news, FAQs and downloads"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    82
!define MUI_FINISHPAGE_LINK_LOCATION "${APPURLLINK}"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    83
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    84
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\readme.txt"
1821
9e97d4970446 (svn r2325) - Update OpenTTD for 0.4.0 release
Darkvater
parents: 1215
diff changeset
    85
!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
6745
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
    86
!define MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT DisableBack
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    87
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    88
!insertmacro MUI_PAGE_FINISH
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
    89
!define MUI_PAGE_HEADER_TEXT "Uninstall ${APPNAMEANDVERSION}"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    90
!insertmacro MUI_UNPAGE_CONFIRM
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    91
!insertmacro MUI_UNPAGE_INSTFILES
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    92
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    93
; Set languages (first is default language)
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    94
!insertmacro MUI_LANGUAGE "English"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    95
!insertmacro MUI_RESERVEFILE_LANGDLL
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    96
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    97
;--------------------------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
    98
; (Core) OpenTTD install section. Copies all internal game data
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
    99
Section "!OpenTTD" Section1
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   100
	; Overwrite files by default, but don't complain on failure
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   101
	SetOverwrite try
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   102
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   103
	; Define root variable relative to installer
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   104
	!define PATH_ROOT "..\..\..\"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   105
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   106
	; Copy language files
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   107
	SetOutPath "$INSTDIR\lang\"
6169
68de0fd4c517 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller.
Darkvater
parents: 6168
diff changeset
   108
	File ${PATH_ROOT}bin\lang\*.lng
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   109
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   110
	; Copy data files
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   111
	SetOutPath "$INSTDIR\data\"
6169
68de0fd4c517 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller.
Darkvater
parents: 6168
diff changeset
   112
	File ${PATH_ROOT}bin\data\*.grf
10046
97d4f53904ee (svn r14206) -Fix (r14197): why don't people just compile a trunk checkout and do we have to think about adding everything to those pesky precompiled binaries?
rubidium
parents: 9960
diff changeset
   113
	File ${PATH_ROOT}bin\data\*.obg
6169
68de0fd4c517 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller.
Darkvater
parents: 6168
diff changeset
   114
	File ${PATH_ROOT}bin\data\opntitle.dat
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   115
	; Copy scenario files (don't choke if they don't exist)
1157
0047fb918f48 (svn r1658) -Update readme and windows installer for 0.3.6
darkvater
parents: 801
diff changeset
   116
	SetOutPath "$INSTDIR\scenario\"
6169
68de0fd4c517 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller.
Darkvater
parents: 6168
diff changeset
   117
	File /nonfatal ${PATH_ROOT}bin\scenario\*.scn
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   118
6170
abff1cff6903 (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory.
Darkvater
parents: 6169
diff changeset
   119
	; Copy heightmap files (don't choke if they don't exist)
abff1cff6903 (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory.
Darkvater
parents: 6169
diff changeset
   120
	SetOutPath "$INSTDIR\scenario\heightmap\"
abff1cff6903 (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory.
Darkvater
parents: 6169
diff changeset
   121
	File /nonfatal ${PATH_ROOT}bin\scenario\heightmap\*.*
abff1cff6903 (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory.
Darkvater
parents: 6169
diff changeset
   122
10329
e7801276a827 (svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
rubidium
parents: 10046
diff changeset
   123
	; Copy the scripts
e7801276a827 (svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
rubidium
parents: 10046
diff changeset
   124
	SetOutPath "$INSTDIR\scripts\"
e7801276a827 (svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
rubidium
parents: 10046
diff changeset
   125
	File ${PATH_ROOT}bin\scripts\*.*
e7801276a827 (svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
rubidium
parents: 10046
diff changeset
   126
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   127
	; Copy the rest of the stuff
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   128
	SetOutPath "$INSTDIR\"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   129
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   130
	; Copy text files
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   131
	File ${PATH_ROOT}changelog.txt
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   132
	File ${PATH_ROOT}COPYING
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   133
	File ${PATH_ROOT}readme.txt
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   134
	File ${PATH_ROOT}known-bugs.txt
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   135
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   136
	; Copy executable
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   137
	File /oname=openttd.exe ${BINARY_DIR}\openttd.exe
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   138
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   139
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   140
	; Delete old files from the main dir. they are now placed in data/ and lang/
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   141
	Delete "$INSTDIR\*.lng"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   142
	Delete "$INSTDIR\*.grf"
10046
97d4f53904ee (svn r14206) -Fix (r14197): why don't people just compile a trunk checkout and do we have to think about adding everything to those pesky precompiled binaries?
rubidium
parents: 9960
diff changeset
   143
	Delete "$INSTDIR\*.obg"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   144
	Delete "$INSTDIR\sample.cat"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   145
	Delete "$INSTDIR\ttd.exe"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   146
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   147
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   148
	; Create the Registry Entries
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   149
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Comments" "Visit ${APPURLLINK}"
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   150
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayIcon" "$INSTDIR\openttd.exe,0"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   151
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayName" "OpenTTD ${APPVERSION}"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   152
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion" "${APPVERSION}"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   153
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "HelpLink" "${APPURLLINK}"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   154
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Install Folder" "$INSTDIR"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   155
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Publisher" "OpenTTD"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   156
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder" "$SHORTCUTS"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   157
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString" "$INSTDIR\uninstall.exe"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   158
	WriteRegStr HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "URLInfoAbout" "${APPURLLINK}"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   159
	; This key sets the Version DWORD that new installers will check against
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   160
	WriteRegDWORD HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version" ${INSTALLERVERSION}
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   161
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   162
	!insertmacro MUI_STARTMENU_WRITE_BEGIN "OpenTTD"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   163
	CreateShortCut "$DESKTOP\OpenTTD.lnk" "$INSTDIR\openttd.exe"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   164
	CreateDirectory "$SMPROGRAMS\$SHORTCUTS"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   165
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\OpenTTD.lnk" "$INSTDIR\openttd.exe"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   166
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Uninstall.lnk" "$INSTDIR\uninstall.exe"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   167
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Readme.lnk" "$INSTDIR\Readme.txt"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   168
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk" "$INSTDIR\Changelog.txt"
801
7b6cb481359c (svn r1271) -Fix: set eol-style to native on missing files
darkvater
parents: 254
diff changeset
   169
	CreateShortCut "$SMPROGRAMS\$SHORTCUTS\Known-bugs.lnk" "$INSTDIR\known-bugs.txt"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   170
	!insertmacro MUI_STARTMENU_WRITE_END
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   171
SectionEnd
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   172
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   173
;----------------------------------------------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   174
; TTDLX files install section. Copies all needed TTDLX files from CD or install dir
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   175
Section "Copy Game Graphics" Section2
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   176
	; Let's copy the files with size approximation
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   177
	SetOutPath "$INSTDIR\gm"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   178
	CopyFiles "$CDDRIVE\gm\*.gm" "$INSTDIR\gm\" 1028
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   179
	SetOutPath "$INSTDIR\data\"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   180
	CopyFiles "$CDDRIVE\sample.cat" "$INSTDIR\data\sample.cat" 1566
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   181
	; Copy Windows files
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   182
	CopyFiles "$CDDRIVE\trg1r.grf" "$INSTDIR\data\trg1r.grf" 2365
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   183
	CopyFiles "$CDDRIVE\trgcr.grf" "$INSTDIR\data\trgcr.grf" 260
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   184
	CopyFiles "$CDDRIVE\trghr.grf" "$INSTDIR\data\trghr.grf" 400
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   185
	CopyFiles "$CDDRIVE\trgir.grf" "$INSTDIR\data\trgir.grf" 334
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   186
	CopyFiles "$CDDRIVE\trgtr.grf" "$INSTDIR\data\trgtr.grf" 546
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   187
	; Copy DOS files
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   188
	CopyFiles "$CDDRIVE\trg1.grf" "$INSTDIR\data\trg1.grf" 2365
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   189
	CopyFiles "$CDDRIVE\trgc.grf" "$INSTDIR\data\trgc.grf" 260
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   190
	CopyFiles "$CDDRIVE\trgh.grf" "$INSTDIR\data\trgh.grf" 400
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   191
	CopyFiles "$CDDRIVE\trgi.grf" "$INSTDIR\data\trgi.grf" 334
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   192
	CopyFiles "$CDDRIVE\trgt.grf" "$INSTDIR\data\trgt.grf" 546
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   193
	SetOutPath "$INSTDIR\"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   194
SectionEnd
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   195
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   196
;-------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   197
; Install the uninstaller (option is hidden)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   198
Section -FinishSection
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   199
	WriteUninstaller "$INSTDIR\uninstall.exe"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   200
SectionEnd
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   201
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   202
; Modern install component descriptions
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   203
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   204
	!insertmacro MUI_DESCRIPTION_TEXT ${Section1} "OpenTTD is a fully functional clone of TTD and is very playable."
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   205
	!insertmacro MUI_DESCRIPTION_TEXT ${Section2} "Copies the game graphics. Requires TTD (for Windows)."
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   206
!insertmacro MUI_FUNCTION_DESCRIPTION_END
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   207
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   208
;-----------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   209
; Uninstall section, deletes all installed files
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   210
Section "Uninstall"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   211
	MessageBox MB_YESNO|MB_ICONQUESTION \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   212
		"Remove the save game folders located at $\"$INSTDIR\save?$\"$\n \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   213
		If you choose Yes, your saved games will be deleted." \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   214
		IDYES RemoveSavedGames IDNO NoRemoveSavedGames
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   215
	RemoveSavedGames:
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   216
		Delete "$INSTDIR\save\autosave\*"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   217
		RMDir "$INSTDIR\save\autosave"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   218
		Delete "$INSTDIR\save\*"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   219
		RMDir "$INSTDIR\save"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   220
	NoRemoveSavedGames:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   221
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   222
	MessageBox MB_YESNO|MB_ICONQUESTION \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   223
		"Remove the scenario folders located at $\"$INSTDIR\scenario?$\"$\n \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   224
		If you choose Yes, your scenarios will be deleted." \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   225
		IDYES RemoveScen IDNO NoRemoveScen
31
85a8c911441c (svn r32) -Fix [1007277] Windows Installer Fixes for bugs [991118] and [991102]. (lucaspiller)
darkvater
parents: 0
diff changeset
   226
	RemoveScen:
6170
abff1cff6903 (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory.
Darkvater
parents: 6169
diff changeset
   227
		Delete "$INSTDIR\scenario\heightmap*"
abff1cff6903 (svn r8929) -Codechange: [win32] Give the installer a slightly more verbose link at the final screen and also copy any heightmaps to the desination directory.
Darkvater
parents: 6169
diff changeset
   228
		RMDir "$INSTDIR\scenario\heightmap"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   229
		Delete "$INSTDIR\scenario\*"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   230
		RMDir "$INSTDIR\scenario"
31
85a8c911441c (svn r32) -Fix [1007277] Windows Installer Fixes for bugs [991118] and [991102]. (lucaspiller)
darkvater
parents: 0
diff changeset
   231
	NoRemoveScen:
85a8c911441c (svn r32) -Fix [1007277] Windows Installer Fixes for bugs [991118] and [991102]. (lucaspiller)
darkvater
parents: 0
diff changeset
   232
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   233
	; Remove from registry...
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   234
	!insertmacro MUI_STARTMENU_GETFOLDER "OpenTTD" $SHORTCUTS
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   235
	ReadRegStr $SHORTCUTS HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Shortcut Folder"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   236
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   237
	DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   238
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   239
	; Delete self
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   240
	Delete "$INSTDIR\uninstall.exe"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   241
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   242
	; Delete Shortcuts
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   243
	Delete "$DESKTOP\OpenTTD.lnk"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   244
	Delete "$SMPROGRAMS\$SHORTCUTS\OpenTTD.lnk"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   245
	Delete "$SMPROGRAMS\$SHORTCUTS\Uninstall.lnk"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   246
	Delete "$SMPROGRAMS\$SHORTCUTS\Readme.lnk"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   247
	Delete "$SMPROGRAMS\$SHORTCUTS\Changelog.lnk"
801
7b6cb481359c (svn r1271) -Fix: set eol-style to native on missing files
darkvater
parents: 254
diff changeset
   248
	Delete "$SMPROGRAMS\$SHORTCUTS\Known-bugs.lnk"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   249
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   250
	; Clean up OpenTTD dir
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   251
	Delete "$INSTDIR\changelog.txt"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   252
	Delete "$INSTDIR\readme.txt"
801
7b6cb481359c (svn r1271) -Fix: set eol-style to native on missing files
darkvater
parents: 254
diff changeset
   253
	Delete "$INSTDIR\known-bugs.txt"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   254
	Delete "$INSTDIR\openttd.exe"
250
733e18ca6e93 (svn r251) -Project ready for 0.3.4 release. Updated installer, readme and fileinformation
darkvater
parents: 32
diff changeset
   255
	Delete "$INSTDIR\COPYING"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   256
	Delete "$INSTDIR\INSTALL.LOG"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   257
	Delete "$INSTDIR\crash.log"
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   258
	Delete "$INSTDIR\crash.dmp"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   259
	Delete "$INSTDIR\openttd.cfg"
1166
b63b1732a1b9 (svn r1668) -Fixed windows installer (autorail.grf) and a changelog typo
darkvater
parents: 1157
diff changeset
   260
	Delete "$INSTDIR\hs.dat"
1841
1f3f4039dc85 (svn r2346) - Fix: Have the windows installer also delete any spritecache.xx files on uninstall
Darkvater
parents: 1821
diff changeset
   261
	Delete "$INSTDIR\cached_sprites.*"
801
7b6cb481359c (svn r1271) -Fix: set eol-style to native on missing files
darkvater
parents: 254
diff changeset
   262
	Delete "$INSTDIR\save\autosave\network*.tmp" ; temporary network file
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   263
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   264
	; Data files
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   265
	Delete "$INSTDIR\data\opntitle.dat"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   266
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   267
	Delete "$INSTDIR\data\2ccmap.grf"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   268
	Delete "$INSTDIR\data\airports.grf"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   269
	Delete "$INSTDIR\data\autorail.grf"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   270
	Delete "$INSTDIR\data\canalsw.grf"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   271
	Delete "$INSTDIR\data\dosdummy.grf"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   272
	Delete "$INSTDIR\data\elrailsw.grf"
2946
f2b2379f3964 (svn r3502) - Update appropiate files with release information for 0.4.5
Darkvater
parents: 1848
diff changeset
   273
	Delete "$INSTDIR\data\nsignalsw.grf"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   274
	Delete "$INSTDIR\data\openttd.grf"
6169
68de0fd4c517 (svn r8927) -Codechange: [win32] Update the installer to use the new paths after the makefilerewrite and add roadstops.grf to the uninstaller.
Darkvater
parents: 6168
diff changeset
   275
	Delete "$INSTDIR\data\roadstops.grf"
250
733e18ca6e93 (svn r251) -Project ready for 0.3.4 release. Updated installer, readme and fileinformation
darkvater
parents: 32
diff changeset
   276
	Delete "$INSTDIR\data\trkfoundw.grf"
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   277
	Delete "$INSTDIR\data\openttdd.grf"
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   278
	Delete "$INSTDIR\data\openttdw.grf"
10046
97d4f53904ee (svn r14206) -Fix (r14197): why don't people just compile a trunk checkout and do we have to think about adding everything to those pesky precompiled binaries?
rubidium
parents: 9960
diff changeset
   279
	Delete "$INSTDIR\data\orig_win.obg"
97d4f53904ee (svn r14206) -Fix (r14197): why don't people just compile a trunk checkout and do we have to think about adding everything to those pesky precompiled binaries?
rubidium
parents: 9960
diff changeset
   280
	Delete "$INSTDIR\data\orig_dos.obg"
97d4f53904ee (svn r14206) -Fix (r14197): why don't people just compile a trunk checkout and do we have to think about adding everything to those pesky precompiled binaries?
rubidium
parents: 9960
diff changeset
   281
	Delete "$INSTDIR\data\orig_dos_de.obg"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   282
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   283
	Delete "$INSTDIR\data\sample.cat"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   284
	; Windows Data files
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   285
	Delete "$INSTDIR\data\trg1r.grf"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   286
	Delete "$INSTDIR\data\trghr.grf"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   287
	Delete "$INSTDIR\data\trgtr.grf"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   288
	Delete "$INSTDIR\data\trgcr.grf"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   289
	Delete "$INSTDIR\data\trgir.grf"
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   290
	; Dos Data files
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   291
	Delete "$INSTDIR\data\trg1.grf"
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   292
	Delete "$INSTDIR\data\trgh.grf"
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   293
	Delete "$INSTDIR\data\trgt.grf"
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   294
	Delete "$INSTDIR\data\trgc.grf"
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   295
	Delete "$INSTDIR\data\trgi.grf"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   296
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   297
	; Music
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   298
	Delete "$INSTDIR\gm\*.gm"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   299
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   300
	; Language files
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   301
	Delete "$INSTDIR\lang\*.lng"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   302
10329
e7801276a827 (svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
rubidium
parents: 10046
diff changeset
   303
	; Scripts
e7801276a827 (svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
rubidium
parents: 10046
diff changeset
   304
	Delete "$INSTDIR\scripts\*.lng"
e7801276a827 (svn r14580) -Fix [FS#2404]: scripts directory not being copied into bundles.
rubidium
parents: 10046
diff changeset
   305
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   306
	; Remove remaining directories
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   307
	RMDir "$SMPROGRAMS\$SHORTCUTS\Extras\"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   308
	RMDir "$SMPROGRAMS\$SHORTCUTS"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   309
	RMDir "$INSTDIR\gm"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   310
	RMDir "$INSTDIR\lang"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   311
	RMDir "$INSTDIR\data"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   312
	RMDir "$INSTDIR"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   313
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   314
SectionEnd
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   315
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   316
;------------------------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   317
; Custom page function to find the TTDLX CD/install location
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   318
Function SelectCDEnter
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   319
	SectionGetFlags ${Section2} $0
801
7b6cb481359c (svn r1271) -Fix: set eol-style to native on missing files
darkvater
parents: 254
diff changeset
   320
	IntOp $1 $0 & 0x80 ; bit 7 set by upgrade, no need to copy files
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   321
	IntCmp $1 1 DoneCD ; Upgrade doesn't need copy files
1215
b314a2e81968 (svn r1719) - Fix: [installer] fix some installer problems mainly for DOS files as well as beautify it a little
darkvater
parents: 1166
diff changeset
   322
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   323
	IntOp $0 $0 & 1
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   324
	IntCmp $0 1 NoAbort
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   325
	Abort
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   326
NoAbort:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   327
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   328
	GetTempFileName $R0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   329
	!insertmacro MUI_HEADER_TEXT "Locate TTD" "Setup needs the location of Transport Tycoon Deluxe in order to continue."
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   330
	!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "CDFinder.ini" "CDFinder"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   331
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   332
	ClearErrors
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   333
	; Now, let's populate $CDDRIVE
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   334
	ReadRegStr $R0 HKLM "SOFTWARE\Fish Technology Group\Transport Tycoon Deluxe" "HDPath"
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   335
	IfErrors NoTTD
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   336
	StrCmp $CDDRIVE "" 0 Populated
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   337
	StrCpy $CDDRIVE $R0
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   338
Populated:
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   339
	StrCpy $AddWinPrePopulate "Setup has detected your TTD folder. Don't change the folder. Simply press Next."
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   340
	Goto TruFinish
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   341
NoTTD:
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   342
	StrCpy $AddWinPrePopulate "Setup couldn't find TTD. Please enter the path where the graphics files from TTD are stored and press Next to continue."
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   343
TruFinish:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   344
	ClearErrors
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   345
	!insertmacro MUI_INSTALLOPTIONS_WRITE "CDFinder" "Field 2" "State" $CDDRIVE          ; TTDLX path
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   346
	!insertmacro MUI_INSTALLOPTIONS_WRITE "CDFinder" "Field 3" "Text" $AddWinPrePopulate ; Caption
801
7b6cb481359c (svn r1271) -Fix: set eol-style to native on missing files
darkvater
parents: 254
diff changeset
   347
DoneCD:
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   348
	; Initialize the dialog *AFTER* we've changed the text otherwise we won't see the changes
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   349
	!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "CDFinder"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   350
	!insertmacro MUI_INSTALLOPTIONS_SHOW
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   351
FunctionEnd
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   352
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   353
;----------------------------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   354
; Custom page function when 'next' is selected for the TTDLX path
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   355
Function SelectCDExit
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   356
	!insertmacro MUI_INSTALLOPTIONS_READ $CDDRIVE "CDFinder" "Field 2" "State"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   357
	; If trg1r.grf does not exist at the path, retry with DOS version
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   358
	IfFileExists $CDDRIVE\trg1r.grf "" DosCD
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   359
	IfFileExists $CDDRIVE\trgir.grf "" NoCD
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   360
	IfFileExists $CDDRIVE\sample.cat hasCD NoCD
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   361
DosCD:
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   362
	IfFileExists $CDDRIVE\TRG1.GRF "" NoCD
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   363
	IfFileExists $CDDRIVE\TRGI.GRF "" NoCD
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   364
	IfFileExists $CDDRIVE\SAMPLE.CAT hasCD NoCD
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   365
NoCD:
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   366
	MessageBox MB_OK "Setup cannot continue without the Transport Tycoon Deluxe Location!"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   367
	Abort
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   368
hasCD:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   369
FunctionEnd
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   370
6745
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   371
;----------------------------------------------------------------------------------
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   372
; Disable the "Back" button on finish page if the installer is run on Win9x systems
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   373
Function DisableBack
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   374
	Call GetWindowsVersion
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   375
	Pop $R0
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   376
	StrCmp $R0 "win9x" 0 WinNT
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   377
	!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "BackEnabled" "0"
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   378
WinNT:
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   379
	ClearErrors
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   380
FunctionEnd
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   381
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   382
;----------------------------------------------------------------------------------
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   383
; Custom page function to show notices for running OpenTTD (only for win32 systems)
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   384
; We have extracted this custom page as Notice in the .onInit function
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   385
Function ShowWarningsPage
6745
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   386
	Call GetWindowsVersion
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   387
	Pop $R0
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   388
	; Don't show the UNICODE notice if the installer is run on Win9x systems
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   389
	StrCmp $R0 "win9x" 0 WinNT
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   390
	Abort
238ec04a86d4 (svn r9980) -Merge: Windows Installer changes in 0.5 (r9864).
rubidium
parents: 6744
diff changeset
   391
WinNT:
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   392
	!insertmacro MUI_HEADER_TEXT "Installation Complete" "Important notices for OpenTTD usage."
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   393
	!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "notice.ini" "Notice"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   394
	!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "Notice"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   395
	ClearErrors
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   396
	!insertmacro MUI_INSTALLOPTIONS_SHOW
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   397
FunctionEnd
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   398
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   399
;-------------------------------------------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   400
; Determine windows version, returns "win9x" if Win9x/Me or "winnt" on the stack
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   401
Function GetWindowsVersion
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   402
	ClearErrors
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   403
	StrCpy $R0 "winnt"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   404
9926
5b6693363ae1 (svn r14081) -Fix (r14075): WoW64 spoiled the 64 bits Windows detection and the installer for the 64 bits binary installed in the wrong directory. Thanks to michi_cc and glx for testing.
rubidium
parents: 9920
diff changeset
   405
	GetVersion::WindowsPlatformId
5b6693363ae1 (svn r14081) -Fix (r14075): WoW64 spoiled the 64 bits Windows detection and the installer for the 64 bits binary installed in the wrong directory. Thanks to michi_cc and glx for testing.
rubidium
parents: 9920
diff changeset
   406
	Pop $R0
5b6693363ae1 (svn r14081) -Fix (r14075): WoW64 spoiled the 64 bits Windows detection and the installer for the 64 bits binary installed in the wrong directory. Thanks to michi_cc and glx for testing.
rubidium
parents: 9920
diff changeset
   407
	IntCmp $R0 2 WinNT 0
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   408
	StrCpy $R0 "win9x"
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   409
WinNT:
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   410
	ClearErrors
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   411
	Push $R0
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   412
FunctionEnd
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   413
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   414
;-------------------------------------------------------------------------------
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   415
; Check whether we're not running an installer for 64 bits on 32 bits and vice versa
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   416
Function CheckProcessorArchitecture
9926
5b6693363ae1 (svn r14081) -Fix (r14075): WoW64 spoiled the 64 bits Windows detection and the installer for the 64 bits binary installed in the wrong directory. Thanks to michi_cc and glx for testing.
rubidium
parents: 9920
diff changeset
   417
	GetVersion::WindowsPlatformArchitecture
5b6693363ae1 (svn r14081) -Fix (r14075): WoW64 spoiled the 64 bits Windows detection and the installer for the 64 bits binary installed in the wrong directory. Thanks to michi_cc and glx for testing.
rubidium
parents: 9920
diff changeset
   418
	Pop $R0
5b6693363ae1 (svn r14081) -Fix (r14075): WoW64 spoiled the 64 bits Windows detection and the installer for the 64 bits binary installed in the wrong directory. Thanks to michi_cc and glx for testing.
rubidium
parents: 9920
diff changeset
   419
	IntCmp $R0 64 Win64 0
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   420
	ClearErrors
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   421
	IntCmp ${APPBITS} 64 0 Done
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   422
	MessageBox MB_OKCANCEL|MB_ICONSTOP "You want to install the 64 bits OpenTTD on a 32 bits Operating System. This is not going to work. Please download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   423
	GoTo Done
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   424
Win64:
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   425
	ClearErrors
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   426
	IntCmp ${APPBITS} 64 Done 0
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   427
	MessageBox MB_OKCANCEL|MB_ICONINFORMATION "You want to install the 32 bits OpenTTD on a 64 bits Operating System. This is not adviced, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   428
	GoTo Done
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   429
Abort:
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   430
	Quit
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   431
Done:
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   432
FunctionEnd
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   433
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   434
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   435
;-------------------------------------------------------------------------------
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   436
; Check whether we're not running an installer for NT on 9x and vice versa
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   437
Function CheckWindowsVersion
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   438
	Call GetWindowsVersion
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   439
	Pop $R0
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   440
	StrCmp $R0 "win9x" 0 WinNT
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   441
	ClearErrors
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   442
	StrCmp ${APPARCH} "win9x" Done 0
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   443
	MessageBox MB_OKCANCEL|MB_ICONSTOP "You want to install the Windows 2000, XP and Vista version on Windows 95, 98 or ME. This is will not work. Please download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   444
	GoTo Done
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   445
WinNT:
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   446
	ClearErrors
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   447
	StrCmp ${APPARCH} "win9x" 0 Done
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   448
	MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "You want to install the Windows 95, 98 and ME version on Windows 2000, XP or Vista. This is not adviced, but will work with reduced capabilities. We suggest that you download the correct version. Do you really want to continue?" IDOK Done IDCANCEL Abort
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   449
Abort:
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   450
	Quit
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   451
Done:
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   452
FunctionEnd
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   453
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   454
Var OLDVERSION
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   455
Var UninstallString
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   456
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   457
;-----------------------------------------------------------------------------------
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   458
; NSIS Initialize function, determin if we are going to install/upgrade or uninstall
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   459
Function .onInit
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   460
	StrCpy $SHORTCUTS "OpenTTD"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   461
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   462
	SectionSetFlags 0 17
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   463
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   464
	; Starts Setup - let's look for an older version of OpenTTD
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   465
	ReadRegDWORD $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   466
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   467
	IfErrors ShowWelcomeMessage ShowUpgradeMessage
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   468
ShowWelcomeMessage:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   469
	ReadRegStr $R8 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "Version"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   470
	; In the event someone still has OpenTTD 0.1, this will detect that (that installer used a string instead of dword entry)
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   471
	IfErrors FinishCallback
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   472
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   473
ShowUpgradeMessage:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   474
	IntCmp ${INSTALLERVERSION} $R8 VersionsAreEqual InstallerIsOlder  WelcomeToSetup
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   475
WelcomeToSetup:
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   476
	; An older version was found.  Let's let the user know there's an upgrade that will take place.
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   477
	ReadRegStr $OLDVERSION HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "DisplayVersion"
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   478
	; Gets the older version then displays it in a message box
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   479
	MessageBox MB_OK|MB_ICONINFORMATION \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   480
		"Welcome to ${APPNAMEANDVERSION} Setup.$\n \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   481
		This will allow you to upgrade from version $OLDVERSION."
801
7b6cb481359c (svn r1271) -Fix: set eol-style to native on missing files
darkvater
parents: 254
diff changeset
   482
	SectionSetFlags ${Section2} 0x80 ; set bit 7
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   483
	Goto FinishCallback
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   484
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   485
VersionsAreEqual:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   486
	ReadRegStr $UninstallString HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenTTD" "UninstallString"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   487
	IfFileExists "$UninstallString" "" FinishCallback
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   488
	MessageBox MB_YESNO|MB_ICONQUESTION \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   489
		"Setup detected ${APPNAMEANDVERSION} on your system. That's the version this program will install.$\n \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   490
		Are you trying to uninstall it?" \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   491
		IDYES DoUninstall IDNO FinishCallback
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   492
DoUninstall: ; You have the same version as this installer.  This allows you to uninstall.
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   493
	Exec "$UninstallString"
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   494
	Quit
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   495
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   496
InstallerIsOlder:
6168
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   497
	MessageBox MB_OK|MB_ICONSTOP \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   498
		"You have a newer version of ${APPNAME}.$\n \
91640fd48876 (svn r8926) -Merge: Release changes from the 0.5 branch back to trunk. This ensures an updated changelog, readme, etc.
Darkvater
parents: 5965
diff changeset
   499
		Setup will now exit."
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   500
	Quit
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   501
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   502
FinishCallback:
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   503
	ClearErrors
9920
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   504
	Call CheckProcessorArchitecture
21ce1e2f0e43 (svn r14075) -Codechange: make the windows installer more platform aware and warn when the to-be-installed binary isn't the recommended one (or won't work at all).
rubidium
parents: 9558
diff changeset
   505
	Call CheckWindowsVersion
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   506
FunctionEnd
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   507
; eof
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
   508