2015-10-06 01:56:19 +02:00
|
|
|
!include "MUI2.nsh"
|
2016-02-13 11:09:51 +01:00
|
|
|
!include "x64.nsh"
|
2017-02-12 17:34:13 +01:00
|
|
|
!include "WinVer.nsh"
|
2018-10-09 00:46:13 +02:00
|
|
|
!include "macros.nsh"
|
2018-08-16 06:57:26 +02:00
|
|
|
|
|
|
|
|
2015-10-06 01:56:19 +02:00
|
|
|
; The name of the installer
|
|
|
|
Name "GPXSee"
|
2016-05-05 22:28:53 +02:00
|
|
|
; Program version
|
2020-01-12 16:09:06 +01:00
|
|
|
!define VERSION "7.19"
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
; The file to write
|
2016-05-05 22:28:53 +02:00
|
|
|
OutFile "GPXSee-${VERSION}.exe"
|
2017-06-18 13:23:00 +02:00
|
|
|
; Compression method
|
|
|
|
SetCompressor /SOLID lzma
|
2015-10-06 01:56:19 +02:00
|
|
|
|
2018-04-14 14:04:19 +02:00
|
|
|
; Required execution level
|
2016-02-13 11:09:51 +01:00
|
|
|
RequestExecutionLevel admin
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
; The default installation directory
|
2016-02-13 11:09:51 +01:00
|
|
|
InstallDir "$PROGRAMFILES\GPXSee"
|
2015-10-06 01:56:19 +02:00
|
|
|
|
2017-02-16 18:59:37 +01:00
|
|
|
; Installer executable info
|
|
|
|
VIProductVersion "${VERSION}.0.0"
|
|
|
|
VIAddVersionKey "ProductVersion" ${VERSION}
|
|
|
|
VIAddVersionKey "FileVersion" "${VERSION}.0.0"
|
|
|
|
VIAddVersionKey "ProductName" "GPXSee"
|
|
|
|
VIAddVersionKey "LegalCopyright" "GPXSee project"
|
|
|
|
VIAddVersionKey "FileDescription" "GPXSee installer"
|
|
|
|
|
2018-04-14 14:04:19 +02:00
|
|
|
; Registry key to check for directory (so if you install again, it will
|
2015-10-06 01:56:19 +02:00
|
|
|
; overwrite the old one automatically)
|
2016-02-13 11:09:51 +01:00
|
|
|
InstallDirRegKey HKLM "Software\GPXSee" "Install_Dir"
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
; Registry key for uninstaller
|
2016-05-03 10:18:51 +02:00
|
|
|
!define REGENTRY "Software\Microsoft\Windows\CurrentVersion\Uninstall\GPXSee"
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
; Start menu page configuration
|
2018-04-14 14:04:19 +02:00
|
|
|
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM"
|
|
|
|
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\GPXSee"
|
|
|
|
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "GPXSee"
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
Var StartMenuFolder
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
|
|
|
|
; Pages
|
|
|
|
|
|
|
|
!insertmacro MUI_PAGE_WELCOME
|
|
|
|
!insertmacro MUI_PAGE_LICENSE "licence.txt"
|
|
|
|
!insertmacro MUI_PAGE_COMPONENTS
|
|
|
|
!insertmacro MUI_PAGE_DIRECTORY
|
|
|
|
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
|
|
|
|
!insertmacro MUI_PAGE_INSTFILES
|
|
|
|
|
|
|
|
!insertmacro MUI_UNPAGE_CONFIRM
|
|
|
|
!insertmacro MUI_UNPAGE_INSTFILES
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
|
|
|
|
; Languages
|
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
|
2017-02-12 17:34:13 +01:00
|
|
|
Function .onInit
|
|
|
|
${IfNot} ${AtLeastWin7}
|
|
|
|
MessageBox MB_OK "GPXSee can only be installed on Windows 7 or later."
|
|
|
|
Abort
|
|
|
|
${EndIf}
|
|
|
|
FunctionEnd
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
; The stuff to install
|
2017-02-12 17:34:13 +01:00
|
|
|
Section "GPXSee" SEC_APP
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
SectionIn RO
|
2018-04-14 14:04:19 +02:00
|
|
|
|
|
|
|
; Set output path to the installation directory
|
2015-10-06 01:56:19 +02:00
|
|
|
SetOutPath $INSTDIR
|
2018-04-14 14:04:19 +02:00
|
|
|
|
2016-03-24 19:34:46 +01:00
|
|
|
; Put the files there
|
2015-10-06 01:56:19 +02:00
|
|
|
File "gpxsee.exe"
|
2018-01-29 00:19:57 +01:00
|
|
|
File /r "maps"
|
2018-02-10 09:29:10 +01:00
|
|
|
File /r "csv"
|
2016-11-02 19:39:32 +01:00
|
|
|
|
|
|
|
; Create start menu entry and add links
|
|
|
|
SetShellVarContext all
|
2018-04-14 14:04:19 +02:00
|
|
|
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
|
2016-11-02 19:39:32 +01:00
|
|
|
CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
|
|
|
|
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
|
|
|
|
CreateShortCut "$SMPROGRAMS\$StartMenuFolder\GPXSee.lnk" "$INSTDIR\gpxsee.exe"
|
|
|
|
!insertmacro MUI_STARTMENU_WRITE_END
|
|
|
|
|
|
|
|
; Create the uninstaller
|
2018-04-14 14:04:19 +02:00
|
|
|
WriteUninstaller "$INSTDIR\uninstall.exe"
|
2016-11-02 19:39:32 +01:00
|
|
|
|
2015-10-06 01:56:19 +02:00
|
|
|
; Write the installation path into the registry
|
2016-11-02 19:39:32 +01:00
|
|
|
DetailPrint "Registering application..."
|
2016-02-13 11:09:51 +01:00
|
|
|
WriteRegStr HKLM SOFTWARE\GPXSee "Install_Dir" "$INSTDIR"
|
2016-11-02 19:39:32 +01:00
|
|
|
|
2015-10-06 01:56:19 +02:00
|
|
|
; Write the uninstall keys for Windows
|
2016-02-13 11:09:51 +01:00
|
|
|
WriteRegStr HKLM "${REGENTRY}" "DisplayName" "GPXSee"
|
|
|
|
WriteRegStr HKLM "${REGENTRY}" "Publisher" "Martin Tuma"
|
2016-05-05 22:28:53 +02:00
|
|
|
WriteRegStr HKLM "${REGENTRY}" "DisplayVersion" "${VERSION}"
|
2016-02-13 11:09:51 +01:00
|
|
|
WriteRegStr HKLM "${REGENTRY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
|
|
|
|
WriteRegDWORD HKLM "${REGENTRY}" "NoModify" 1
|
|
|
|
WriteRegDWORD HKLM "${REGENTRY}" "NoRepair" 1
|
2015-10-06 01:56:19 +02:00
|
|
|
|
2016-11-02 19:39:32 +01:00
|
|
|
; Associate file formats
|
|
|
|
DetailPrint "Associating file types..."
|
2020-01-15 23:10:14 +01:00
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "gpx" "GPS Exchange Format" 8
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "tcx" "Training Center XML" 9
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "kml" "Keyhole Markup Language" 10
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "fit" "Flexible and Interoperable Data Transfer" 11
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "igc" "Flight Recorder Data Format" 12
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "nmea" "NMEA 0183 Data" 13
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "plt" "OziExplorer Track Point File" 14
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "rte" "OziExplorer Route File" 15
|
2018-08-12 13:30:20 +02:00
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "wpt" "OziExplorer Waypoint File" 1
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "loc" "Geocaching.com Waypoint File" 2
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "slf" "Sigma Log File" 3
|
2019-01-28 09:05:30 +01:00
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "geojson" "GeoJSON" 4
|
2019-10-28 14:34:01 +01:00
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "cup" "SeeYou CUP File" 5
|
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "gpi" "Garmin POI File" 6
|
2020-01-15 23:10:14 +01:00
|
|
|
!insertmacro FILE_ASSOCIATION_ADD "sml" "Suunto Markup Language" 7
|
2016-05-03 10:18:51 +02:00
|
|
|
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
|
|
|
|
2015-10-06 01:56:19 +02:00
|
|
|
SectionEnd
|
|
|
|
|
2017-02-12 17:34:13 +01:00
|
|
|
Section "QT framework" SEC_QT
|
|
|
|
|
|
|
|
SectionIn RO
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
File "Qt5Core.dll"
|
|
|
|
File "Qt5Gui.dll"
|
|
|
|
File "Qt5Widgets.dll"
|
|
|
|
File "Qt5PrintSupport.dll"
|
2015-11-25 23:18:07 +01:00
|
|
|
File "Qt5Network.dll"
|
2018-09-21 01:58:58 +02:00
|
|
|
File "Qt5Sql.dll"
|
2018-11-04 01:14:31 +01:00
|
|
|
File "Qt5Concurrent.dll"
|
2015-10-06 01:56:19 +02:00
|
|
|
File /r "platforms"
|
2015-12-03 20:06:50 +01:00
|
|
|
File /r "imageformats"
|
2016-05-29 19:35:38 +02:00
|
|
|
File /r "printsupport"
|
2018-08-05 23:23:53 +02:00
|
|
|
File /r "styles"
|
2018-09-21 01:58:58 +02:00
|
|
|
File /r "sqldrivers"
|
2018-04-14 14:04:19 +02:00
|
|
|
|
2015-10-06 01:56:19 +02:00
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
Section "MSVC runtime" SEC_MSVC
|
|
|
|
|
2017-02-12 17:34:13 +01:00
|
|
|
SectionIn RO
|
|
|
|
|
2016-02-13 11:09:51 +01:00
|
|
|
DetailPrint "Checking whether Visual C++ 2015 Redistributable is already installed..."
|
|
|
|
${If} ${RunningX64}
|
|
|
|
ReadRegDword $R0 HKLM "SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Installed"
|
|
|
|
${Else}
|
|
|
|
ReadRegDword $R0 HKLM "SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x86" "Installed"
|
|
|
|
${EndIf}
|
2015-10-06 01:56:19 +02:00
|
|
|
|
2016-02-13 11:09:51 +01:00
|
|
|
StrCmp $R0 "1" 0 +3
|
|
|
|
DetailPrint "Visual C++ 2015 Redistributable is already installed, skipping install."
|
|
|
|
Goto done
|
|
|
|
|
|
|
|
DetailPrint "Installing Visual C++ 2015 Redistributable..."
|
|
|
|
SetOutPath $TEMP
|
2017-06-18 12:23:54 +02:00
|
|
|
File "vcredist_x86.exe"
|
2017-06-19 22:48:48 +02:00
|
|
|
ExecWait '"$TEMP\vcredist_x86.exe" /install /quiet /norestart'
|
2017-02-13 20:13:13 +01:00
|
|
|
SetOutPath $INSTDIR
|
2016-02-13 11:09:51 +01:00
|
|
|
|
|
|
|
done:
|
2015-10-06 01:56:19 +02:00
|
|
|
SectionEnd
|
|
|
|
|
2017-02-12 17:34:13 +01:00
|
|
|
Section "OpenSSL" SEC_OPENSSL
|
|
|
|
|
|
|
|
File "libeay32.dll"
|
|
|
|
File "ssleay32.dll"
|
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
Section "ANGLE" SEC_ANGLE
|
|
|
|
|
|
|
|
File "libGLESv2.dll"
|
|
|
|
File "libEGL.dll"
|
|
|
|
File "D3DCompiler_47.dll"
|
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
2018-02-09 21:04:37 +01:00
|
|
|
SectionGroup "Localization" SEC_LOCALIZATION
|
2018-08-16 06:57:26 +02:00
|
|
|
!insertmacro LOCALIZATION "Czech" "cs"
|
2018-10-09 00:01:18 +02:00
|
|
|
!insertmacro LOCALIZATION "Danish" "da"
|
2018-08-16 06:57:26 +02:00
|
|
|
!insertmacro LOCALIZATION "Finnish" "fi"
|
|
|
|
!insertmacro LOCALIZATION "French" "fr"
|
|
|
|
!insertmacro LOCALIZATION "German" "de"
|
2018-10-07 22:27:50 +02:00
|
|
|
!insertmacro LOCALIZATION "Norwegian" "nb"
|
2018-08-16 06:57:26 +02:00
|
|
|
!insertmacro LOCALIZATION "Polish" "pl"
|
2019-02-16 19:54:50 +01:00
|
|
|
!insertmacro LOCALIZATION "Portuguese (Brazil)" "pt_BR"
|
2018-08-16 06:57:26 +02:00
|
|
|
!insertmacro LOCALIZATION "Russian" "ru"
|
2019-01-21 00:01:07 +01:00
|
|
|
!insertmacro LOCALIZATION "Spanish" "es"
|
2018-08-16 06:57:26 +02:00
|
|
|
!insertmacro LOCALIZATION "Swedish" "sv"
|
2018-11-22 22:59:31 +01:00
|
|
|
!insertmacro LOCALIZATION "Turkish" "tr"
|
2019-11-05 21:59:01 +01:00
|
|
|
!insertmacro LOCALIZATION "Ukrainian" "uk"
|
2018-02-08 18:16:44 +01:00
|
|
|
SectionGroupEnd
|
|
|
|
|
2015-10-06 01:56:19 +02:00
|
|
|
;--------------------------------
|
|
|
|
|
|
|
|
; Uninstaller
|
|
|
|
|
|
|
|
Section "Uninstall"
|
2018-04-14 14:04:19 +02:00
|
|
|
|
2015-10-06 01:56:19 +02:00
|
|
|
; Remove registry keys
|
2016-02-13 11:09:51 +01:00
|
|
|
DeleteRegKey HKLM "${REGENTRY}"
|
|
|
|
DeleteRegKey HKLM SOFTWARE\GPXSee
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
; Remove directories used
|
|
|
|
RMDir /r "$INSTDIR"
|
|
|
|
|
|
|
|
; Remove Start menu entries
|
2016-02-13 11:09:51 +01:00
|
|
|
SetShellVarContext all
|
2015-10-06 01:56:19 +02:00
|
|
|
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
|
|
|
|
Delete "$SMPROGRAMS\$StartMenuFolder\*.*"
|
2016-05-03 10:18:51 +02:00
|
|
|
RMDir "$SMPROGRAMS\$StartMenuFolder"
|
|
|
|
|
|
|
|
; Remove GPX file association
|
2018-08-12 13:30:20 +02:00
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "gpx"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "tcx"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "kml"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "fit"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "igc"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "nmea"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "plt"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "rte"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "wpt"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "loc"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "slf"
|
2019-01-28 20:40:31 +01:00
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "geojson"
|
2019-10-28 14:34:01 +01:00
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "cup"
|
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "gpi"
|
2020-01-15 23:10:14 +01:00
|
|
|
!insertmacro FILE_ASSOCIATION_REMOVE "sml"
|
2018-04-14 14:04:19 +02:00
|
|
|
System::Call 'shell32.dll::SHChangeNotify(i, i, i, i) v (0x08000000, 0, 0, 0)'
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
SectionEnd
|
|
|
|
|
|
|
|
;-------------------------------
|
|
|
|
|
|
|
|
;Descriptions
|
|
|
|
|
|
|
|
;Language strings
|
|
|
|
LangString DESC_QT ${LANG_ENGLISH} \
|
2017-02-12 17:34:13 +01:00
|
|
|
"QT cross-platform application framework."
|
2015-10-06 01:56:19 +02:00
|
|
|
LangString DESC_MSVC ${LANG_ENGLISH} \
|
2017-02-12 17:34:13 +01:00
|
|
|
"Visual C++ 2015 runtime components. If already installed, will be skipped."
|
|
|
|
LangString DESC_OPENSSL ${LANG_ENGLISH} \
|
|
|
|
"OpenSSL library. Required for HTTPS to work."
|
|
|
|
LangString DESC_ANGLE ${LANG_ENGLISH} \
|
|
|
|
"ANGLE (OpenGL via Direct3D). Enables OpenGL on systems without native OpenGL drivers."
|
2015-10-06 01:56:19 +02:00
|
|
|
LangString DESC_APP ${LANG_ENGLISH} \
|
|
|
|
"GPXSee application"
|
2018-02-09 21:04:37 +01:00
|
|
|
LangString DESC_LOCALIZATION ${LANG_ENGLISH} \
|
2018-02-08 18:16:44 +01:00
|
|
|
"Localization"
|
2015-10-06 01:56:19 +02:00
|
|
|
|
|
|
|
;Assign language strings to sections
|
|
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_QT} $(DESC_QT)
|
2017-02-12 17:34:13 +01:00
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_OPENSSL} $(DESC_OPENSSL)
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_ANGLE} $(DESC_ANGLE)
|
2015-10-06 01:56:19 +02:00
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_MSVC} $(DESC_MSVC)
|
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_APP} $(DESC_APP)
|
2018-02-09 21:04:37 +01:00
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_LOCALIZATION} $(DESC_LOCALIZATION)
|
2020-01-15 23:10:14 +01:00
|
|
|
!insertmacro MUI_FUNCTION_DESCRIPTION_END
|