;NSIS Modern User Interface ;Multilingual Example Script ;Written by Joost Verburg ; to do: ; - header graphic !define CSPMAP_PROPERVERSION "0.2008.11.8" !define CSPMAP_VERSION "v1.23" ;-------------------------------- ;Include Modern UI !include "MUI2.nsh" !include "TextFunc.nsh" !insertmacro ConfigWrite !insertmacro ConfigRead !insertmacro un.ConfigWrite !insertmacro un.ConfigRead !include "FileFunc.nsh" !insertmacro Locate !insertmacro un.Locate ;-------------------------------- ;General ;Name and file Name "CSPmap ${CSPMAP_VERSION}" OutFile "CSPmap_${CSPMAP_VERSION}.exe" ;Default installation folder InstallDir "$PROGRAMFILES\Funcom\Anarchy Online\" ;Get installation folder from registry if available InstallDirRegKey HKCU "Software\Anarchy Online" "Install Directory" !define MUI_ICON favicon.ico ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING ;-------------------------------- ;Language Selection Dialog Settings ;Remember the installer language !define MUI_LANGDLL_REGISTRY_ROOT "HKCU" !define MUI_LANGDLL_REGISTRY_KEY "Software\Anarchy Online" !define MUI_LANGDLL_REGISTRY_VALUENAME "Installer Language" !define MUI_LANGDLL_ALWAYSSHOW ;-------------------------------- ;Pages ;!insertmacro MUI_PAGE_LICENSE $(MUILicense) ;!insertmacro MUI_PAGE_COMPONENTS Function .onVerifyInstDir IfFileExists "$INSTDIR\anarchy.exe" +2 0 Abort "Anarchy Online was not detected as being installed in this directory." ; if $INSTDIR is not the main AO directory, don't let us install there FunctionEnd !define MUI_DIRECTORYPAGE_TEXT_TOP "$(SelectAOFolder)" !insertmacro MUI_PAGE_DIRECTORY !define MUI_FINISHPAGE_TEXT "$(FinalMessage)" !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_FINISHPAGE_TITLE_3LINES !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Anarchy Online" Var StartMenuFolder !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" # first language is the default language !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "TradChinese" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Korean" !insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Swedish" !insertmacro MUI_LANGUAGE "Norwegian" !insertmacro MUI_LANGUAGE "Finnish" !insertmacro MUI_LANGUAGE "Greek" !insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "PortugueseBR" !insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "Ukrainian" !insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Slovak" !insertmacro MUI_LANGUAGE "Croatian" !insertmacro MUI_LANGUAGE "Bulgarian" !insertmacro MUI_LANGUAGE "Hungarian" !insertmacro MUI_LANGUAGE "Thai" !insertmacro MUI_LANGUAGE "Romanian" !insertmacro MUI_LANGUAGE "Latvian" !insertmacro MUI_LANGUAGE "Macedonian" !insertmacro MUI_LANGUAGE "Estonian" !insertmacro MUI_LANGUAGE "Turkish" !insertmacro MUI_LANGUAGE "Lithuanian" !insertmacro MUI_LANGUAGE "Catalan" !insertmacro MUI_LANGUAGE "Slovenian" !insertmacro MUI_LANGUAGE "Serbian" !insertmacro MUI_LANGUAGE "SerbianLatin" !insertmacro MUI_LANGUAGE "Arabic" !insertmacro MUI_LANGUAGE "Farsi" !insertmacro MUI_LANGUAGE "Hebrew" !insertmacro MUI_LANGUAGE "Indonesian" !insertmacro MUI_LANGUAGE "Mongolian" !insertmacro MUI_LANGUAGE "Luxembourgish" !insertmacro MUI_LANGUAGE "Albanian" !insertmacro MUI_LANGUAGE "Breton" !insertmacro MUI_LANGUAGE "Belarusian" !insertmacro MUI_LANGUAGE "Icelandic" !insertmacro MUI_LANGUAGE "Malay" !insertmacro MUI_LANGUAGE "Bosnian" !insertmacro MUI_LANGUAGE "Kurdish" ; multi language messages ; "Choose the folder where your installation of Anarchy Online resides." !define SelectAOFolderDefault "Choose the folder where your installation of Anarchy Online resides." LangString SelectAOFolder ${LANG_ENGLISH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_RUSSIAN} "Âûáåðèòå ïàïêó â êîòîðîé ó âàñ óñòàíîâëåíà Anarchy Online" LangString SelectAOFolder ${LANG_NORWEGIAN} "Velg mappen som inneholder din installasjon av Anarchy Online." LangString SelectAOFolder ${LANG_POLISH} "Wybierz katalog, w ktorym zainstalowana jest Anarchy Online." LangString SelectAOFolder ${LANG_FINNISH} "Valitse hakemisto, johon Anarchy Online on asennettu." LangString SelectAOFolder ${LANG_FRENCH} "Veuillez choisir le répertoire où vous avez installé Anarchy Online." LangString SelectAOFolder ${LANG_SPANISH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_GERMAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_SIMPCHINESE} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_TRADCHINESE} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_JAPANESE} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_KOREAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_ITALIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_DUTCH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_DANISH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_SWEDISH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_GREEK} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_PORTUGUESE} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_PORTUGUESEBR} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_UKRAINIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_CZECH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_SLOVAK} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_CROATIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_BULGARIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_HUNGARIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_THAI} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_ROMANIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_LATVIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_MACEDONIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_ESTONIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_TURKISH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_LITHUANIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_CATALAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_SLOVENIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_SERBIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_SERBIANLATIN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_ARABIC} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_FARSI} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_HEBREW} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_INDONESIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_MONGOLIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_LUXEMBOURGISH} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_ALBANIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_BRETON} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_BELARUSIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_ICELANDIC} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_MALAY} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_BOSNIAN} "${SelectAOFolderDefault}" LangString SelectAOFolder ${LANG_KURDISH} "${SelectAOFolderDefault}" ; "The CSPmap is now installed into your Anarchy Online installation. To bring up the map selector window, hit 'p' to bring up the planet map, select the 'i', then select 'Select Map'.$\r$\n$\r$\nAn uninstaller has also been placed in your Anarchy Online directory called appropriately 'Uninstall-CSPmap.exe'." !define FinalMessageDefault "The CSPmap is now installed into your Anarchy Online installation. To bring up the map selector window, hit 'p' to bring up the planet map, select the 'i', then select 'Select Map'.$\r$\n$\r$\nAn uninstaller has also been placed in your Anarchy Online directory called appropriately 'Uninstall-CSPmap.exe'." ; updated with new map selection procedure LangString FinalMessage ${LANG_ENGLISH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_NORWEGIAN} "CSPmap er nå installert i din Anarchy online installasjon. Trykk p for og hente frem 'planet map', klikk [i]-knappen (øvre venstre hjørne) og deretter 'Select Map'. Velg så CSPmap fra listen.$\r$\n$\r$\nEn 'Uninstall-CSPmap.exe' er også plassert i din Anarchy Online mappe for korekt avinstallering av CSPmap." LangString FinalMessage ${LANG_FRENCH} "La CSPmap est maintenant installée dans le répertoire de Anarchy Online. Afin de faire apparaître la fenêtre de sélection des maps, utilisez la touche 'p' pour faire apparaître la map de la planète, clickez sur 'i', puis sélectionnez 'Select Map'.$\r$\n$\r$\nUn désinstallateur nommé 'Uninstall-CSPmap.exe' a également été placé dans le répertoire de Anarchy Online." ; following need updates! LangString FinalMessage ${LANG_RUSSIAN} "CSPmap óñòàíîâëåí â Anarchy Online, äëÿ å¸ àêòèâàöèè âû äîëæíû çàïóñòèòü èãðó è îòêðûòü âíóòðèèãðîâóþ êàðòó êíîïêîé 'P', â íèæíåì ëåâîì óãëó âûáåðèòå èêîíêó ñî çíàêîì '?' è âûáåðèòå CSPmap èç ñïèñêà.$\r$\n$\r$\nÓíèíñòàëëåð âû ìîæåòå íàéòè â êîðíåâîì êàòàëîãå Anarchy Online, îí íàçûâàåòñÿ 'Uninstall-CSPmap.exe'." LangString FinalMessage ${LANG_POLISH} "CSPmap zostala zainstalowana w Twoim katalogu z Anarchy Online. Jesli chcesz jej uzywac musisz wybrac ja w grze w Menu wyboru mapy.$\r$\n$\r$\nPlik do odinstalowania mapy 'Uninstall-CSPmap.exe' zostal umieszczony w Twoim katalogu z Anarchy Online." LangString FinalMessage ${LANG_FINNISH} "CSPMap on nyt asennetty Anarchy Onlinen hakemistoon, mutta sinun täytyy valita se käyttöön pelin sisältä.$\r$\n$\r$\nPoisto-ohjelma 'Uninstall-CSPmap.exe' on asennettu Anarchy Onlinen hakemistoon." LangString FinalMessage ${LANG_SPANISH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_GERMAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_SIMPCHINESE} "${FinalMessageDefault}" LangString FinalMessage ${LANG_TRADCHINESE} "${FinalMessageDefault}" LangString FinalMessage ${LANG_JAPANESE} "${FinalMessageDefault}" LangString FinalMessage ${LANG_KOREAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_ITALIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_DUTCH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_DANISH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_SWEDISH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_GREEK} "${FinalMessageDefault}" LangString FinalMessage ${LANG_PORTUGUESE} "${FinalMessageDefault}" LangString FinalMessage ${LANG_PORTUGUESEBR} "${FinalMessageDefault}" LangString FinalMessage ${LANG_UKRAINIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_CZECH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_SLOVAK} "${FinalMessageDefault}" LangString FinalMessage ${LANG_CROATIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_BULGARIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_HUNGARIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_THAI} "${FinalMessageDefault}" LangString FinalMessage ${LANG_ROMANIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_LATVIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_MACEDONIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_ESTONIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_TURKISH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_LITHUANIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_CATALAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_SLOVENIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_SERBIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_SERBIANLATIN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_ARABIC} "${FinalMessageDefault}" LangString FinalMessage ${LANG_FARSI} "${FinalMessageDefault}" LangString FinalMessage ${LANG_HEBREW} "${FinalMessageDefault}" LangString FinalMessage ${LANG_INDONESIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_MONGOLIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_LUXEMBOURGISH} "${FinalMessageDefault}" LangString FinalMessage ${LANG_ALBANIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_BRETON} "${FinalMessageDefault}" LangString FinalMessage ${LANG_BELARUSIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_ICELANDIC} "${FinalMessageDefault}" LangString FinalMessage ${LANG_MALAY} "${FinalMessageDefault}" LangString FinalMessage ${LANG_BOSNIAN} "${FinalMessageDefault}" LangString FinalMessage ${LANG_KURDISH} "${FinalMessageDefault}" ;-------------------------------- ;License Language String ; LicenseLangString MUILicense ${LANG_ENGLISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_FRENCH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_GERMAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_SPANISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_SIMPCHINESE} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_TRADCHINESE} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_JAPANESE} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_KOREAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_ITALIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_DUTCH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_DANISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_SWEDISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_NORWEGIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_FINNISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_GREEK} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_RUSSIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_PORTUGUESE} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_PORTUGUESEBR} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_POLISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_UKRAINIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_CZECH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_SLOVAK} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_CROATIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_BULGARIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_HUNGARIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_THAI} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_ROMANIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_LATVIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_MACEDONIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_ESTONIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_TURKISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_LITHUANIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_CATALAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_SLOVENIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_SERBIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_SERBIANLATIN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_ARABIC} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_FARSI} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_HEBREW} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_INDONESIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_MONGOLIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_LUXEMBOURGISH} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_ALBANIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_BRETON} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_BELARUSIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_ICELANDIC} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_MALAY} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_BOSNIAN} "${NSISDIR}\Docs\Modern UI\License.txt" ; LicenseLangString MUILicense ${LANG_KURDISH} "${NSISDIR}\Docs\Modern UI\License.txt" ;-------------------------------- ;Reserve Files ;These files should be inserted before other files in the data block ;Keep these lines before any File command ;Only for solid compression (by default, solid compression is enabled for BZIP2 and LZMA) !insertmacro MUI_RESERVEFILE_LANGDLL VIProductVersion "${CSPMAP_PROPERVERSION}" VIAddVersionKey "ProductName" "CSPmap ${CSPMAP_VERSION} Installer" VIAddVersionKey "CompanyName" "Creative Student Productions" VIAddVersionKey "LegalCopyright" "(C) Creative Student Productions 2006-2008" VIAddVersionKey "FileDescription" "Installs the CSPmap into an existing installation of Anarchy Online" VIAddVersionKey "FileVersion" "${CSPMAP_PROPERVERSION}" ;-------------------------------- ;Installer Sections Section ;"Dummy Section" SecDummy SetOutPath "$INSTDIR\cd_image\textures\planetmap\CSPmap" File CSPmap\CSPmap.bin File CSPmap\CSPmap.txt File CSPmap\CSPmap-rk1.txt File CSPmap\CSPmap-rk2.txt SetOutPath "$INSTDIR\cd_image\textures\planetmap" File CSP-MapCoordinates.xml ;ADD YOUR OWN FILES HERE... ;Store installation folder WriteRegStr HKCU "Software\Anarchy Online" "Install Directory" $INSTDIR ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall-CSPmap.exe" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application ;Create shortcuts CreateDirectory "$SMPROGRAMS\$StartMenuFolder" CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Uninstall CSPmap.lnk" "$INSTDIR\Uninstall-CSPmap.exe" !insertmacro MUI_STARTMENU_WRITE_END ; find C:\Program Files\Funcom\Anarchy Online\Prefs\*\Login.cfg and change line... ; PlanetMapIndexFile "[_whatever_]" ; to ; PlanetMapIndexFile "CSPmap/CSPmap.txt" ;${ConfigWrite} "[File]" "[Entry]" "[Value]" $var ${Locate} "$INSTDIR\Prefs" "/L=F /M=Login.cfg" ChangeMap DetailPrint "Changed user preferences to use CSPmap where applicable." SectionEnd ;-------------------------------- ;Installer Functions Function .onInit !insertmacro MUI_LANGDLL_DISPLAY FunctionEnd Function ChangeMap ${ConfigRead} "$R9" "PlanetMapIndexFile " $R0 ; if $R0 is not a CSPmap, change it to the default one StrCmpS $R0 "$\"CSPmap/CSPmap.txt$\"" endit 0 StrCmpS $R0 "$\"CSPmap/CSPmap-rk1.txt$\"" endit 0 StrCmpS $R0 "$\"CSPmap/CSPmap-rk2.txt$\"" endit 0 StrCmpS $R0 "$\"CSPmap/CSPmap-dnw.txt$\"" endit 0 ${ConfigWrite} $R9 "PlanetMapIndexFile " "$\"CSPmap/CSPmap.txt$\"" $R1 endit: Push $0 FunctionEnd ;-------------------------------- ;Descriptions ;USE A LANGUAGE STRING IF YOU WANT YOUR DESCRIPTIONS TO BE LANGAUGE SPECIFIC ;Assign descriptions to sections ;!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN ; !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} "A test section." ;!insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ;Uninstaller Section Section "Uninstall" ;ADD YOUR OWN FILES HERE... Delete "$INSTDIR\cd_image\textures\planetmap\CSPmap\CSPmap.bin" Delete "$INSTDIR\cd_image\textures\planetmap\CSPmap\CSPmap.txt" Delete "$INSTDIR\cd_image\textures\planetmap\CSPmap\CSPmap-rk1.txt" Delete "$INSTDIR\cd_image\textures\planetmap\CSPmap\CSPmap-rk2.txt" Delete "$INSTDIR\cd_image\textures\planetmap\CSP-MapCoordinates.xml" Delete "$INSTDIR\cd_image\textures\planetmap\CSPmap\CSPmap-dnw.bin" Delete "$INSTDIR\cd_image\textures\planetmap\CSPmap\CSPmap-dnw.txt" Delete "$INSTDIR\Uninstall-CSPmap.exe" RMDir "$INSTDIR\cd_image\textures\planetmap\CSPmap" !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall CSPmap.lnk" ; change planetmap line back to normal map ${un.Locate} "$INSTDIR\Prefs" "/L=F /M=Login.cfg" "un.ChangeMap" DetailPrint "Changed user preferences to use default planet map where applicable." DeleteRegValue HKCU "Software\Anarchy Online" "Install Directory" DeleteRegKey /ifempty HKCU "Software\Anarchy Online" SectionEnd ;-------------------------------- ;Uninstaller Functions Function un.onInit !insertmacro MUI_UNGETLANGUAGE FunctionEnd Function "un.ChangeMap" ${un.ConfigRead} "$R9" "PlanetMapIndexFile " $R0 ; if $R0 is "$\"CSPmap/CSPmap.txt$\"" or -rk1 etc... set to "$\"normal/PlanetMapIndexNormal.txt$\"" StrCmpS $R0 "$\"CSPmap/CSPmap.txt$\"" +4 0 StrCmpS $R0 "$\"CSPmap/CSPmap-rk1.txt$\"" +3 0 StrCmpS $R0 "$\"CSPmap/CSPmap-rk2.txt$\"" +2 0 StrCmpS $R0 "$\"CSPmap/CSPmap-dnw.txt$\"" 0 +3 ${un.ConfigWrite} "$R9" "PlanetMapIndexFile " "$\"normal/PlanetMapIndexNormal.txt$\"" $R0 Push $0 FunctionEnd