!define DEFAULT_DIR "C:\Garmin\Openstreetmap\OpenFietsMap" !define INSTALLER_DESCRIPTION "OpenFietsMap" !define INSTALLER_NAME "OpenFietsMap" !define MAPNAME "10010000" !define PRODUCT_ID "1" !define FID "10010" !define REG_KEY "OpenFietsMap (BNL)" SetCompressor /SOLID lzma ; Includes !include "MUI2.nsh" ; Installer pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE OpenFietsMap_license.txt !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !define MUI_UNPAGE_INSTFILES ; Language files !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "German" Name "${INSTALLER_DESCRIPTION}" OutFile "${INSTALLER_NAME}.exe" InstallDir "${DEFAULT_DIR}" Function .onInit !insertmacro MUI_LANGDLL_DISPLAY FindProcDLL::FindProc "MapSource.exe" IntCmp $R0 1 0 notRunningMapSource MessageBox MB_OK|MB_ICONEXCLAMATION "Mapsource is running. Please close it first" /SD IDOK Abort notRunningMapSource: FindProcDLL::FindProc "MapSource6162NL.exe" IntCmp $R0 1 0 notRunningMapSource2 MessageBox MB_OK|MB_ICONEXCLAMATION "Mapsource is running. Please close it first" /SD IDOK Abort notRunningMapSource2: FindProcDLL::FindProc "MapSource6163NL.exe" IntCmp $R0 1 0 notRunningMapSource3 MessageBox MB_OK|MB_ICONEXCLAMATION "Mapsource is running. Please close it first" /SD IDOK Abort notRunningMapSource3: FindProcDLL::FindProc "BaseCamp.exe" IntCmp $R0 1 0 notRunningBaseCamp MessageBox MB_OK|MB_ICONEXCLAMATION "BaseCamp is running. Please close it first" /SD IDOK Abort notRunningBaseCamp: FunctionEnd Section "MainSection" SectionMain SetOutPath "$INSTDIR" ExecWait '"$INSTDIR\Uninstall.exe" /S _?=$INSTDIR' File "${MAPNAME}.img" File "${MAPNAME}_mdr.img" File "${MAPNAME}.mdx" File "{FID}.typ" File "${MAPNAME}.tdb" File "{FID}*.img" WriteRegBin HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "ID" 1a27 WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "IDX" "$INSTDIR\${MAPNAME}.mdx" WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "MDR" "$INSTDIR\${MAPNAME}_mdr.img" WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "TYP" "$INSTDIR\10010.TYP" WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "BMAP" "$INSTDIR\${MAPNAME}.img" WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "LOC" "$INSTDIR" WriteRegStr HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "TDB" "$INSTDIR\${MAPNAME}.tdb" WriteUninstaller "$INSTDIR\Uninstall.exe" SectionEnd Section "Uninstall" Delete "$INSTDIR\${MAPNAME}.img" Delete "$INSTDIR\Uninstall.exe" Delete "$INSTDIR\${MAPNAME}_mdr.img" Delete "$INSTDIR\${MAPNAME}.mdx" Delete "$INSTDIR\${FID}.TYP" Delete "$INSTDIR\${MAPNAME}.tdb" Delete "$INSTDIR\${FID}*.img" RmDir "$INSTDIR" DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "ID" DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "IDX" DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "MDR" DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" "TYP" DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "BMAP" DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "LOC" DeleteRegValue HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" "TDB" DeleteRegKey /IfEmpty HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}\${PRODUCT_ID}" DeleteRegKey /IfEmpty HKLM "SOFTWARE\Garmin\MapSource\Families\${REG_KEY}" SectionEnd