;-------------------------------- ; Setup Settings !define PRODUCT_NAME "6thSense Mod" !define PRODUCT_VERSION "0.69" !define PRODUCT_PUBLISHER "6thSense.eu" !define PRODUCT_WEB_SITE "http://trac.6thsense.eu:800/arma/trac/wiki/6thSense.eu%20Mod" !define PRODUCT_DIR_REGKEY "Software\Bohemia Interactive Studio\ArmA\MAIN" !define PRODUCT_DIR_REGKEY_SIX "Software\6thSense.eu\${PRODUCT_NAME}" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_UNINSTALLER "$INSTDIR\${PRODUCT_NAME} uninst.exe" !define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" !define PRODUCT_OUT "$INSTDIR\@6thSenseMod" !define PRODUCT_REG_LAUNCHER "Software\Kegetys\ArmA Launcher" !define PRODUCT_STARTROOT "6thSense.eu ArmA" !define PRODUCT_LICENSE "misc\license.rtf" ; Required Version, only used in Update and 1st !define PRODUCT_REQVER "0.68" ; Define Product Type: Setup, Update or 1st !define PRODUCT_1st ;!define PRODUCT_setup ;!define PRODUCT_update ;-------------------------------- ; Different Setups !ifdef PRODUCT_1st !define PRODUCT_ROOT "1st" !define PRODUCT_shortcuts !define PRODUCT_launcher !define PRODUCT_check !define PRODUCT_OUTNAME "${PRODUCT_NAME} ${PRODUCT_VERSION} Update" !define PRODUCT_OUTFILE "6th-ArmA_Mod_v${PRODUCT_VERSION}update.exe" !endif !ifdef PRODUCT_setup !define PRODUCT_ROOT "full" !define PRODUCT_shortcuts !define PRODUCT_launcher !define PRODUCT_OUTNAME "${PRODUCT_NAME} ${PRODUCT_VERSION}" !define PRODUCT_OUTFILE "6th-ArmA_Mod_v${PRODUCT_VERSION}setup.exe" !endif !ifdef PRODUCT_update !define PRODUCT_ROOT "update" !define PRODUCT_check !define PRODUCT_OUTNAME "${PRODUCT_NAME} ${PRODUCT_VERSION} Update" !define PRODUCT_OUTFILE "6th-ArmA_Mod_v${PRODUCT_VERSION}update.exe" !endif ;-------------------------------- ;General ;Name and file Name "${PRODUCT_OUTNAME}" OutFile "${PRODUCT_OUTFILE}" ;Default installation folder InstallDir "$INSTDIR" ;Get installation folder from registry if available InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ; (can be show to have them shown, or nevershow to disable) ShowUnInstDetails show ; (can be show to have them shown, or nevershow to disable) ;-------------------------------- ;Custom settings ;// Some default compiler settings (uncomment and change at will): ;// SetCompress auto ; (can be off or force) SetCompressor /SOLID lzma SetCompressorDictSize 128 SetDatablockOptimize on ;// CRCCheck on ; (can be off) ;// AutoCloseWindow false ; (can be true for the window go away automatically at end) ;// SetDateSave off ; (can be on to have files restored to their orginal date) ;-------------------------------- ;Include Modern UI !include "MUI.nsh" ;-------------------------------- ;Include LogicLib - it provides macros for logical structures such as conditional execution and loops. !include LogicLib.nsh ;-------------------------------- ;Interface Settings !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" !define MUI_HEADERIMAGE ; Display an image on the header of the page. !define MUI_HEADERIMAGE_BITMAP misc\banner.bmp ; Bitmap image to display on the header of installers pages (recommended size: 150x57 pixels). ; Default: ${NSISDIR}\Contrib\Graphics\Header\nsis.bmp !define MUI_INSTFILESPAGE_PROGRESSBAR smooth ; ("" | colored | smooth) ; The style of the progress bar. Default: smooth ; // Language Selection Dialog Settings !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" ;-------------------------------- ;Macros !macro REGSTR REG KEY VAL INSERT ReadRegStr $1 "${REG}" "${KEY}" "${VAL}" IfErrors 0 +2 WriteRegStr "${REG}" "${KEY}" "${VAL}" "${INSERT}" !macroend !macro REGDWORD REG KEY VAL INSERT ReadRegDWORD $1 "${REG}" "${KEY}" "${VAL}" IfErrors 0 +2 WriteRegDWORD "${REG}" "${KEY}" "${VAL}" "${INSERT}" !macroend ;-------------------------------- ;Pages ; // Welcome page !insertmacro MUI_PAGE_WELCOME ; // License page !define MUI_LICENSEPAGE_CHECKBOX !insertmacro MUI_PAGE_LICENSE ${PRODUCT_LICENSE} ; // Components page !insertmacro MUI_PAGE_COMPONENTS ; // Directory page ;// !define MUI_PAGE_CUSTOMFUNCTION_PRE directorySkipPre !insertmacro MUI_PAGE_DIRECTORY ; // Start menu page !define MUI_PAGE_CUSTOMFUNCTION_PRE startMenuSkipPre var STARTMENU_FOLDER !define MUI_STARTMENUPAGE_NODISABLE !define MUI_STARTMENUPAGE_DEFAULTFOLDER $(DESC_DefaultFolder) ; // Language specific folder !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" !insertmacro MUI_PAGE_STARTMENU Application "$STARTMENU_FOLDER" ; // Instfiles page ;// !define MUI_PAGE_CUSTOMFUNCTION_PRE locationSkipPre !insertmacro MUI_PAGE_INSTFILES ; // Finish page ;// !define MUI_FINISHPAGE_RUN "$INSTDIR\AppMainExe.exe" ;// !define MUI_FINISHPAGE_RUN_PARAMETERS "param" !define MUI_FINISHPAGE_SHOWREADME "${PRODUCT_OUT}\Readmes\6th-ArmA Mod Readme.rtf" !insertmacro MUI_PAGE_FINISH ; // Uninstaller pages !insertmacro MUI_UNPAGE_WELCOME !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !insertmacro MUI_UNPAGE_FINISH ;-------------------------------- ;Languages !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Finnish" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Norwegian" !insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "Russian" ;-------------------------------- ; Language Strings LangString DESC_DefaultFolder ${LANG_ENGLISH} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_GERMAN} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_CZECH} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_DANISH} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_DUTCH} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_FINNISH} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_FRENCH} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_ITALIAN} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_JAPANESE} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_NORWEGIAN} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_POLISH} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" LangString DESC_DefaultFolder ${LANG_RUSSIAN} "${PRODUCT_STARTROOT}\${PRODUCT_NAME}" ;-------------------------------- ;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 ; MUI end ------ Function .onInit !insertmacro MUI_LANGDLL_DISPLAY ReadRegStr $INSTDIR HKLM "SOFTWARE\Bohemia Interactive Studio\ArmA" "MAIN" IfErrors 0 end MessageBox MB_YESNO "Armed Assault is not installed. Do you want to continue?" IDYES yes IDNO no yes: MessageBox MB_OK "You will have to specify the path your ArmA folder manually" Goto End no: Abort end: FunctionEnd ;-------------------------------- ; Define shortcuts !define PRODUCT_STARTMENU "$SMPROGRAMS\$STARTMENU_FOLDER" !define PRODUCT_SHORTCUT_DESKTOP "$DESKTOP\Play ArmA With ${PRODUCT_NAME}.lnk" !define PRODUCT_SHORTCUT_DESKTOP_LAUNCHER "$DESKTOP\Start ArmA Launcher.lnk" !define PRODUCT_SHORTCUT_START "${PRODUCT_STARTMENU}\Play ArmA With ${PRODUCT_NAME}.lnk" !define PRODUCT_SHORTCUT_START_README "${PRODUCT_STARTMENU}\${PRODUCT_NAME} Readme.lnk" !define PRODUCT_SHORTCUT_START_UNINST "${PRODUCT_STARTMENU}\${PRODUCT_NAME} Uninstall.lnk" !define PRODUCT_SHORTCUT_START_UPDATER "${PRODUCT_STARTMENU}\${PRODUCT_NAME} Update Check.lnk" !define PRODUCT_SHORTCUT_START_URL "${PRODUCT_STARTMENU}\${PRODUCT_NAME} Wiki.url" !define PRODUCT_SHORTCUT_START_LAUNCHER "${PRODUCT_STARTMENU}\Start ArmA Launcher.lnk" ;-------------------------------- ;Installer Sections Section ClearErrors !ifdef PRODUCT_check FileOpen $0 "${PRODUCT_OUT}\tools\version.txt" r IfErrors errors FileRead $0 $1 IfErrors errors FileClose $0 StrCmp "$1" "${PRODUCT_REQVER}" ok wrongver errors: MessageBox MB_OK "Version.txt not found or unreadable, can not continue" Abort wrongver: MessageBox MB_OK "Version.txt found, but wrong Version, expected ${PRODUCT_REQVER} found $1" Abort ok: !endif SetOutPath "${PRODUCT_OUT}\" SetOverwrite ifdiff File /a /r "${PRODUCT_ROOT}\*.*" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY_SIX}" "Version" "${PRODUCT_VERSION}" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY_SIX}" "Path" "$INSTDIR" ;//Temporary !ifdef PRODUCT_1st Delete "${PRODUCT_OUT}\Addons\NEM_DEFS_ZWOOD.pbo" Delete "${PRODUCT_OUT}\Addons\voice.pbo" !endif SectionEnd !ifdef PRODUCT_shortcuts Section "Desktop shortcuts" SEC02 SetOutPath "$INSTDIR" SetOverwrite ifdiff CreateShortCut "${PRODUCT_SHORTCUT_DESKTOP}" "$INSTDIR\ArmA.exe" "-nosplash -mod=@6thSenseMod" SectionEnd Section "Start menu shortcuts" SEC03 ; Startmenu !insertmacro MUI_STARTMENU_WRITE_BEGIN Application ;Create shortcuts CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" WriteIniStr "${PRODUCT_SHORTCUT_START_URL}" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" SetOutPath "$INSTDIR" SetOverwrite ifdiff CreateShortCut "${PRODUCT_SHORTCUT_START}" "$INSTDIR\ArmA.exe" "-nosplash -mod=@6thSenseMod" CreateShortCut "${PRODUCT_SHORTCUT_START_README}" "${PRODUCT_OUT}\Readmes\6th-ArmA Mod Readme.rtf" SetOutPath "${PRODUCT_OUT}\tools" CreateShortCut "${PRODUCT_SHORTCUT_START_UPDATER}" "${PRODUCT_OUT}\tools\updater.bat" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd !endif !ifdef PRODUCT_launcher Section "ArmA Launcher (By Kegetys)" SEC04 SetOutPath "${PRODUCT_OUT}\tools\" SetOverwrite ifdiff File /a /r "keg-armalauncher\*.*" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application SetOutPath "${PRODUCT_OUT}\tools\" CreateShortCut "${PRODUCT_SHORTCUT_START_LAUNCHER}" "${PRODUCT_OUT}\tools\ArmA Launcher.exe" CreateShortCut "${PRODUCT_SHORTCUT_DESKTOP_LAUNCHER}" "${PRODUCT_OUT}\tools\ArmA Launcher.exe" !insertmacro MUI_STARTMENU_WRITE_END ClearErrors !insertmacro REGSTR HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "executable" "$INSTDIR\arma.exe" !insertmacro REGDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "nosplash" 0x1 !insertmacro REGDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "window" 0x0 !insertmacro REGDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "close" 0x0 !insertmacro REGDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "watchers" 0x1 !insertmacro REGSTR HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "o_sound1" "none" !insertmacro REGSTR HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "o_sound2" "none" !insertmacro REGDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "runtir" 0x0 !insertmacro REGDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "flash" 0x1 !insertmacro REGSTR HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "sound1" "none" !insertmacro REGSTR HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "sound2" "none" !insertmacro REGDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "maxmem" 0x0 !insertmacro REGSTR HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "extraParams" "" !insertmacro REGSTR HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}" "extraExec" "" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\mods" "" "" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\mods\6327921" "name" "6thSenseMod" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\mods\6327921" "dir" "@6thSenseMod" WriteRegDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\mods\6327921" "checked" 0x1 WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers" "" "" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3161232" "name" "6thSense.eu Coop 01" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3161232" "ip" "s01.6thsense.eu" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3161232" "port" "2351" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3161232" "mods" "@6thSenseMod;" WriteRegDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3161232" "sockets" 0x1 WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3963395" "name" "6thSense.eu Coop 02" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3963395" "ip" "s02.6thsense.eu" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3963395" "port" "2361" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3963395" "mods" "@6thSenseMod;" WriteRegDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\3963395" "sockets" 0x1 WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\5072121" "name" "6thSense.eu Coop 03" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\5072121" "ip" "62.101.81.254" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\5072121" "port" "2355" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\5072121" "mods" "@6thSenseMod;" WriteRegDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\5072121" "sockets" 0x1 WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8855384" "name" "6thSense.eu Coop Night 01" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8855384" "ip" "s02.6thsense.eu" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8855384" "port" "2341" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8855384" "mods" "@6thSenseMod;" WriteRegDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8855384" "sockets" 0x1 WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\895416" "name" "6thSense.eu Coop Night 02" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\895416" "ip" "s01.6thsense.eu" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\895416" "port" "2341" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\895416" "mods" "@6thSenseMod;" WriteRegDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\895416" "sockets" 0x1 WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8977097" "name" "6thSense.eu Mission Test" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8977097" "ip" "s02.6thsense.eu" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8977097" "port" "2381" WriteRegStr HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8977097" "mods" "@6thSenseMod;" WriteRegDWORD HKEY_CURRENT_USER "${PRODUCT_REG_LAUNCHER}\servers\8977097" "sockets" 0x1 SectionEnd !endif Section "Uninstaller" SEC05 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER" CreateShortCut "${PRODUCT_SHORTCUT_START_UNINST}" "${PRODUCT_UNINSTALLER}" !insertmacro MUI_STARTMENU_WRITE_END WriteUninstaller "${PRODUCT_UNINSTALLER}" WriteRegStr "${PRODUCT_UNINST_ROOT_KEY}" "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}" WriteRegStr "${PRODUCT_UNINST_ROOT_KEY}" "${PRODUCT_UNINST_KEY}" "UninstallString" "${PRODUCT_UNINSTALLER}" ;// WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "${PRODUCT_OUT}\${PRODUCT_NAME}.ico" WriteRegStr "${PRODUCT_UNINST_ROOT_KEY}" "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr "${PRODUCT_UNINST_ROOT_KEY}" "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr "${PRODUCT_UNINST_ROOT_KEY}" "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" SectionEnd ;-------------------------------- ;Uninstaller Section Section "Uninstall" ;ADD YOUR OWN FILES HERE... RMDir /r "${PRODUCT_OUT}" Delete "${PRODUCT_UNINSTALLER}" !insertmacro MUI_STARTMENU_GETFOLDER "Application" $STARTMENU_FOLDER Delete "${PRODUCT_SHORTCUT_START}" Delete "${PRODUCT_SHORTCUT_START_UNINST}" Delete "${PRODUCT_SHORTCUT_START_URL}" Delete "${PRODUCT_SHORTCUT_START_README}" Delete "${PRODUCT_SHORTCUT_START_UPDATER}" Delete "${PRODUCT_SHORTCUT_START_LAUNCHER}" Delete "${PRODUCT_SHORTCUT_DESKTOP}" ;// RMDir "$SMPROGRAMS\$STARTMENU_FOLDER" ;Delete empty start menu parent diretories StrCpy $STARTMENU_FOLDER "$SMPROGRAMS\$STARTMENU_FOLDER" startMenuDeleteLoop: RMDir $STARTMENU_FOLDER GetFullPathName $STARTMENU_FOLDER "$STARTMENU_FOLDER\.." IfErrors startMenuDeleteLoopDone StrCmp $STARTMENU_FOLDER $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop startMenuDeleteLoopDone: DeleteRegKey "${PRODUCT_UNINST_ROOT_KEY}" "${PRODUCT_UNINST_KEY}" DeleteRegKey /ifempty HKLM "${PRODUCT_DIR_REGKEY}" DeleteRegKey /ifempty HKLM "${PRODUCT_DIR_REGKEY_SIX}" ;// SetAutoClose true SectionEnd ;-------------------------------- ;Descriptions ;Language strings ;//LangString DESC_SecDummy ${LANG_ENGLISH} "A test section." ;Assign language strings to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN ;// !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} "Install Core files - REQUIRED." !insertmacro MUI_DESCRIPTION_TEXT ${SEC02} "Install ArmA Launcher by Kegetys" !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} "Create a desktop shortcut to run ${PRODUCT_NAME}" !insertmacro MUI_DESCRIPTION_TEXT ${SEC04} "Create a start menu entry for ${PRODUCT_NAME}" !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} "Add uninstall ability for ${PRODUCT_NAME}" !insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ;Uninstaller Functions Function un.onInit !insertmacro MUI_UNGETLANGUAGE MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Do you want to uninstall $(^Name) and all of its components?" IDYES +2 Abort FunctionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) was uninstalled successfully." FunctionEnd ;-------------------------------- ;Skipping Pages Functions Function startMenuSkipPre SectionGetFlags ${SEC03} $R0 IntOp $R0 $R0 & ${SF_SELECTED} IntCmp $R0 ${SF_SELECTED} show SectionGetFlags ${SEC04} $R0 IntOp $R0 $R0 & ${SF_SELECTED} IntCmp $R0 ${SF_SELECTED} show Abort show: FunctionEnd /* Function directorySkipPre SectionGetFlags ${SEC01} $R0 IntOp $R0 $R0 & ${SF_SELECTED} IntCmp $R0 ${SF_SELECTED} show Abort show: FunctionEnd Function locationSkipPre SectionGetFlags ${SEC01} $R0 IntOp $R0 $R0 & ${SF_SELECTED} IntCmp $R0 ${SF_SELECTED} show Abort show: FunctionEnd */