7 ; The name of the installer
10 !define VERSION
"7.34"
13 OutFile "GPXSee-${VERSION}.exe"
15 SetCompressor
/SOLID lzma
17 ; Required execution level
18 RequestExecutionLevel admin
20 ; The default installation directory
21 InstallDir "$PROGRAMFILES\GPXSee"
23 ; Installer executable info
24 VIProductVersion
"${VERSION}.0.0"
25 VIAddVersionKey
"ProductVersion" ${VERSION}
26 VIAddVersionKey
"FileVersion" "${VERSION}.0.0"
27 VIAddVersionKey
"ProductName" "GPXSee"
28 VIAddVersionKey
"LegalCopyright" "GPXSee project"
29 VIAddVersionKey
"FileDescription" "GPXSee installer"
31 ; Registry key to check for directory (so if you install again, it will
32 ; overwrite the old one automatically)
33 InstallDirRegKey HKLM "Software\GPXSee" "Install_Dir"
35 ; Registry key for uninstaller
36 !define REGENTRY
"Software\Microsoft\Windows\CurrentVersion\Uninstall\GPXSee"
38 ; Start menu page configuration
39 !define MUI_STARTMENUPAGE_REGISTRY_ROOT
"HKLM"
40 !define MUI_STARTMENUPAGE_REGISTRY_KEY
"Software\GPXSee"
41 !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME
"GPXSee"
45 ;--------------------------------
49 !insertmacro MUI_PAGE_WELCOME
50 !insertmacro MUI_PAGE_LICENSE
"licence.txt"
51 !insertmacro MUI_PAGE_COMPONENTS
52 !insertmacro MUI_PAGE_DIRECTORY
53 !insertmacro MUI_PAGE_STARTMENU Application
$StartMenuFolder
54 !insertmacro MUI_PAGE_INSTFILES
56 !insertmacro MUI_UNPAGE_CONFIRM
57 !insertmacro MUI_UNPAGE_INSTFILES
59 ;--------------------------------
62 !insertmacro MUI_LANGUAGE
"English"
65 ${IfNot} ${AtLeastWin7}
66 MessageBox MB_OK "GPXSee can only be installed on Windows 7 or later."
71 ; The stuff to install
72 Section "GPXSee" SEC_APP
76 ; Set output path to the installation directory
84 ; Create start menu entry and add links
85 SetShellVarContext all
86 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
87 CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
88 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
89 CreateShortCut "$SMPROGRAMS\$StartMenuFolder\GPXSee.lnk" "$INSTDIR\gpxsee.exe"
90 !insertmacro MUI_STARTMENU_WRITE_END
92 ; Create the uninstaller
93 WriteUninstaller "$INSTDIR\uninstall.exe"
95 ; Write the installation path into the registry
96 DetailPrint "Registering application..."
97 WriteRegStr HKLM SOFTWARE\GPXSee
"Install_Dir" "$INSTDIR"
99 ; Write the uninstall keys for Windows
100 WriteRegStr HKLM "${REGENTRY}" "DisplayName" "GPXSee"
101 WriteRegStr HKLM "${REGENTRY}" "Publisher" "Martin Tuma"
102 WriteRegStr HKLM "${REGENTRY}" "DisplayVersion" "${VERSION}"
103 WriteRegStr HKLM "${REGENTRY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
104 WriteRegDWORD HKLM "${REGENTRY}" "NoModify" 1
105 WriteRegDWORD HKLM "${REGENTRY}" "NoRepair" 1
107 ; Associate file formats
108 DetailPrint "Associating file types..."
109 !insertmacro FILE_ASSOCIATION_ADD
"gpx" "GPS Exchange Format" 8
110 !insertmacro FILE_ASSOCIATION_ADD
"tcx" "Training Center XML" 9
111 !insertmacro FILE_ASSOCIATION_ADD
"kml" "Keyhole Markup Language" 10
112 !insertmacro FILE_ASSOCIATION_ADD
"fit" "Flexible and Interoperable Data Transfer" 11
113 !insertmacro FILE_ASSOCIATION_ADD
"igc" "Flight Recorder Data Format" 12
114 !insertmacro FILE_ASSOCIATION_ADD
"nmea" "NMEA 0183 Data" 13
115 !insertmacro FILE_ASSOCIATION_ADD
"plt" "OziExplorer Track Point File" 14
116 !insertmacro FILE_ASSOCIATION_ADD
"rte" "OziExplorer Route File" 15
117 !insertmacro FILE_ASSOCIATION_ADD
"wpt" "OziExplorer Waypoint File" 1
118 !insertmacro FILE_ASSOCIATION_ADD
"loc" "Geocaching.com Waypoint File" 2
119 !insertmacro FILE_ASSOCIATION_ADD
"slf" "Sigma Log File" 3
120 !insertmacro FILE_ASSOCIATION_ADD
"geojson" "GeoJSON" 4
121 !insertmacro FILE_ASSOCIATION_ADD
"cup" "SeeYou CUP File" 5
122 !insertmacro FILE_ASSOCIATION_ADD
"gpi" "Garmin POI File" 6
123 !insertmacro FILE_ASSOCIATION_ADD
"sml" "Suunto Markup Language" 7
124 System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
128 Section "QT framework" SEC_QT
134 File "Qt5Widgets.dll"
135 File "Qt5PrintSupport.dll"
136 File "Qt5Network.dll"
138 File "Qt5Concurrent.dll"
140 File /r
"imageformats"
141 File /r
"printsupport"
147 Section "MSVC runtime" SEC_MSVC
152 File "vc_redist.x86.exe"
153 ExecWait '"$TEMP\vc_redist.x86.exe" /install /quiet /norestart'
158 Section "OpenSSL" SEC_OPENSSL
160 File "libcrypto-1_1.dll"
161 File "libssl-1_1.dll"
165 Section "ANGLE" SEC_ANGLE
169 File "D3DCompiler_47.dll"
173 SectionGroup
"Localization" SEC_LOCALIZATION
174 !insertmacro LOCALIZATION
"Czech" "cs"
175 !insertmacro LOCALIZATION
"Danish" "da"
176 !insertmacro LOCALIZATION
"Finnish" "fi"
177 !insertmacro LOCALIZATION
"French" "fr"
178 !insertmacro LOCALIZATION
"German" "de"
179 !insertmacro LOCALIZATION
"Hungarian" "hu"
180 !insertmacro LOCALIZATION
"Italian" "it"
181 !insertmacro LOCALIZATION
"Norwegian" "nb"
182 !insertmacro LOCALIZATION
"Polish" "pl"
183 !insertmacro LOCALIZATION
"Portuguese (Brazil)" "pt_BR"
184 !insertmacro LOCALIZATION
"Russian" "ru"
185 !insertmacro LOCALIZATION
"Spanish" "es"
186 !insertmacro LOCALIZATION
"Swedish" "sv"
187 !insertmacro LOCALIZATION
"Turkish" "tr"
188 !insertmacro LOCALIZATION
"Ukrainian" "uk"
191 ;--------------------------------
197 ; Remove registry keys
198 DeleteRegKey HKLM "${REGENTRY}"
199 DeleteRegKey HKLM SOFTWARE\GPXSee
201 ; Remove directories used
204 ; Remove Start menu entries
205 SetShellVarContext all
206 !insertmacro MUI_STARTMENU_GETFOLDER Application
$StartMenuFolder
207 Delete "$SMPROGRAMS\$StartMenuFolder\*.*"
208 RMDir "$SMPROGRAMS\$StartMenuFolder"
210 ; Remove GPX file association
211 !insertmacro FILE_ASSOCIATION_REMOVE
"gpx"
212 !insertmacro FILE_ASSOCIATION_REMOVE
"tcx"
213 !insertmacro FILE_ASSOCIATION_REMOVE
"kml"
214 !insertmacro FILE_ASSOCIATION_REMOVE
"fit"
215 !insertmacro FILE_ASSOCIATION_REMOVE
"igc"
216 !insertmacro FILE_ASSOCIATION_REMOVE
"nmea"
217 !insertmacro FILE_ASSOCIATION_REMOVE
"plt"
218 !insertmacro FILE_ASSOCIATION_REMOVE
"rte"
219 !insertmacro FILE_ASSOCIATION_REMOVE
"wpt"
220 !insertmacro FILE_ASSOCIATION_REMOVE
"loc"
221 !insertmacro FILE_ASSOCIATION_REMOVE
"slf"
222 !insertmacro FILE_ASSOCIATION_REMOVE
"geojson"
223 !insertmacro FILE_ASSOCIATION_REMOVE
"cup"
224 !insertmacro FILE_ASSOCIATION_REMOVE
"gpi"
225 !insertmacro FILE_ASSOCIATION_REMOVE
"sml"
226 System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
230 ;-------------------------------
235 LangString DESC_QT
${LANG_ENGLISH} \
236 "QT cross-platform application framework."
237 LangString DESC_MSVC
${LANG_ENGLISH} \
238 "Microsoft Visual C++ 2017 runtime. If already installed, will be skipped."
239 LangString DESC_OPENSSL
${LANG_ENGLISH} \
240 "OpenSSL library. Required for HTTPS to work."
241 LangString DESC_ANGLE
${LANG_ENGLISH} \
242 "ANGLE (OpenGL via Direct3D). Enables OpenGL on systems without native OpenGL drivers."
243 LangString DESC_APP
${LANG_ENGLISH} \
245 LangString DESC_LOCALIZATION
${LANG_ENGLISH} \
248 ;Assign language strings to sections
249 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
250 !insertmacro MUI_DESCRIPTION_TEXT
${SEC_QT} $(DESC_QT
)
251 !insertmacro MUI_DESCRIPTION_TEXT
${SEC_OPENSSL} $(DESC_OPENSSL
)
252 !insertmacro MUI_DESCRIPTION_TEXT
${SEC_ANGLE} $(DESC_ANGLE
)
253 !insertmacro MUI_DESCRIPTION_TEXT
${SEC_MSVC} $(DESC_MSVC
)
254 !insertmacro MUI_DESCRIPTION_TEXT
${SEC_APP} $(DESC_APP
)
255 !insertmacro MUI_DESCRIPTION_TEXT
${SEC_LOCALIZATION} $(DESC_LOCALIZATION
)
256 !insertmacro MUI_FUNCTION_DESCRIPTION_END