Archive: Layout of the Checkbox


Layout of the Checkbox
Good evening, Ive no idea of NSIS and worked always with HM Nis Edit.
But now I want a more beautiful layout like this :
Can Someone help me ?
http://diclovit.files.wordpress.com/...ponenten-1.png


That does not look like NSIS and if it is, it's a TreeView on a custom page...


Is it possible to create sth. similar with nsis?


http://forums.winamp.com/showthread.php?p=2969184


I guess your example screenshot is a mockup. The most things on it are possible but you have to create and code it by yourself.
For the graphical header you have to use MUI2.
For the treeview list you have to create a cusom Page and you can use the Embedded Lists Plugin.
But you have to code your own "required space" routine too.
For the BrandingText as Link feature you can use Linker Plugin.
The only problem is the donate button in this bottom area. you can insert it by modifing the exe with a recource hacker but i donĀ“t know how to catch the OnClick event. But you can create a donate button simply with NsDialogs and put it next to the "required space" label.

cheers


thanks this helpfull :)


Now one Question, how can I do that the checks disabled, until I select the File

http://s1.directupload.net/images/131118/4kx7s2z6.png







/*

NSIS Modern User Interface - Version 1.8
Copyright 2002-2013 Joost Verburg

*/

!ifndef MUI_INCLUDED
!echo "NSIS Modern User Interface version 1.8 - Copyright 2002-2013 Joost Verburg"

;--------------------------------
!verbose push 3
!define /IfNDef MUI_VERBOSE 3
!verbose ${MUI_VERBOSE}

!define MUI_INCLUDED
!define MUI_SYSVERSION "1.8"


;--------------------------------
;HEADER FILES, DECLARATIONS

!include InstallOptions.nsh
!include LangFile.nsh
!include WinMessages.nsh

Var MUI_TEMP1
Var MUI_TEMP2

;--------------------------------
;INSERT CODE

!macro MUI_INSERT

!ifndef MUI_INSERT
!define MUI_INSERT

!ifdef MUI_PRODUCT | MUI_VERSION
!warning "The MUI_PRODUCT and MUI_VERSION defines have been removed. Use a normal Name command now."
!endif

!insertmacro MUI_INTERFACE

!insertmacro MUI_FUNCTION_GUIINIT
!insertmacro MUI_FUNCTION_ABORTWARNING

!ifdef MUI_IOCONVERT_USED
!insertmacro INSTALLOPTIONS_FUNCTION_WRITE_CONVERT
!endif

!ifdef MUI_UNINSTALLER
!insertmacro MUI_UNFUNCTION_GUIINIT
!insertmacro MUI_FUNCTION_UNABORTWARNING

!ifdef MUI_UNIOCONVERT_USED
!insertmacro INSTALLOPTIONS_UNFUNCTION_WRITE_CONVERT
!endif
!endif

!endif

!macroend

;--------------------------------
;GENERAL

!macro MUI_DEFAULT SYMBOL CONTENT

!ifndef "${SYMBOL}"
!define "${SYMBOL}" "${CONTENT}"
!endif

!macroend

!macro MUI_DEFAULT_IOCONVERT SYMBOL CONTENT

!ifndef "${SYMBOL}"
!define "${SYMBOL}" "${CONTENT}"
!insertmacro MUI_SET "${SYMBOL}_DEFAULTSET"
!insertmacro MUI_SET "MUI_${MUI_PAGE_UNINSTALLER_PREFIX}IOCONVERT_USED"
!else
!insertmacro MUI_UNSET "${SYMBOL}_DEFAULTSET"
!endif

!macroend

!macro MUI_SET SYMBOL

!ifndef "${SYMBOL}"
!define "${SYMBOL}"
!endif

!macroend

!macro MUI_UNSET SYMBOL

!ifdef "${SYMBOL}"
!undef "${SYMBOL}"
!endif

!macroend

;--------------------------------
;INTERFACE - COMPILE TIME SETTINGS

!macro MUI_INTERFACE

!ifndef MUI_INTERFACE
!define MUI_INTERFACE

!ifdef MUI_INSERT_NSISCONF
!insertmacro MUI_NSISCONF
!endif

!insertmacro MUI_DEFAULT MUI_UI "${NSISDIR}\Contrib\UIs\modern.exe"
!insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
!insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE_RIGHT "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe"
!insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_SMALLDESC "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
!insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_NODESC "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"
!insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\red-round.bmp"
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BGCOLOR "/windows"
!insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_COLORS "/windows"
!insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
!insertmacro MUI_DEFAULT MUI_BGCOLOR "FFFFFF"
!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_INI "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini"
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_INI "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini"
!insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "C:\Users\John\Mods\Installer 0.1 Beta\Sitepic.bmp"
!insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"

!ifdef MUI_HEADERIMAGE

!insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"

!ifndef MUI_HEADERIMAGE_UNBITMAP
!define MUI_HEADERIMAGE_UNBITMAP "${MUI_HEADERIMAGE_BITMAP}"
!ifdef MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
!endif
!endif

!ifdef MUI_HEADERIMAGE_BITMAP_RTL
!ifndef MUI_HEADERIMAGE_UNBITMAP_RTL
!define MUI_HEADERIMAGE_UNBITMAP_RTL "${MUI_HEADERIMAGE_BITMAP_RTL}"
!ifdef MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH
!insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH
!endif
!endif
!endif

!endif

XPStyle On

ChangeUI all "${MUI_UI}"
!ifdef MUI_HEADERIMAGE
!ifndef MUI_HEADERIMAGE_RIGHT
ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE}"
!else
ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE_RIGHT}"
!endif
!endif
!ifdef MUI_COMPONENTSPAGE_SMALLDESC
ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_SMALLDESC}"
!else ifdef MUI_COMPONENTSPAGE_NODESC
ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_NODESC}"
!endif

Icon "${MUI_ICON}"
UninstallIcon "${MUI_UNICON}"

CheckBitmap "${MUI_COMPONENTSPAGE_CHECKBITMAP}"
LicenseBkColor "${MUI_LICENSEPAGE_BGCOLOR}"
InstallColors ${MUI_INSTFILESPAGE_COLORS}
InstProgressFlags ${MUI_INSTFILESPAGE_PROGRESSBAR}

SubCaption 4 " "
UninstallSubCaption 2 " "

!insertmacro MUI_DEFAULT MUI_ABORTWARNING_TEXT "$(MUI_TEXT_ABORTWARNING)"
!insertmacro MUI_DEFAULT MUI_UNABORTWARNING_TEXT "$(MUI_UNTEXT_ABORTWARNING)"

!endif

!macroend

;--------------------------------
;INTERFACE - RUN-TIME

!macro MUI_INNERDIALOG_TEXT CONTROL TEXT

!verbose push
!verbose ${MUI_VERBOSE}

FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${CONTROL}
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"

!verbose pop

!macroend

!macro MUI_HEADER_TEXT_INTERNAL ID TEXT

GetDlgItem $MUI_TEMP1 $HWNDPARENT "${ID}"

!ifdef MUI_HEADER_TRANSPARENT_TEXT

ShowWindow $MUI_TEMP1 ${SW_HIDE}

!endif

SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"

!ifdef MUI_HEADER_TRANSPARENT_TEXT

ShowWindow $MUI_TEMP1 ${SW_SHOWNA}

!endif

!macroend

!macro MUI_HEADER_TEXT TEXT SUBTEXT

!verbose push
!verbose ${MUI_VERBOSE}

!ifdef MUI_HEADER_TRANSPARENT_TEXT

LockWindow on

!endif

!insertmacro MUI_HEADER_TEXT_INTERNAL 1037 "${TEXT}"
!insertmacro MUI_HEADER_TEXT_INTERNAL 1038 "${SUBTEXT}"

!ifdef MUI_HEADER_TRANSPARENT_TEXT

LockWindow off

!endif

!verbose pop

!macroend

!macro MUI_HEADER_TEXT_PAGE TEXT SUBTEXT

!ifdef MUI_PAGE_HEADER_TEXT & MUI_PAGE_HEADER_SUBTEXT
!insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
!else ifdef MUI_PAGE_HEADER_TEXT
!insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${SUBTEXT}"
!else ifdef MUI_PAGE_HEADER_SUBTEXT
!insertmacro MUI_HEADER_TEXT "${TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
!else
!insertmacro MUI_HEADER_TEXT "${TEXT}" "${SUBTEXT}"
!endif

!insertmacro MUI_UNSET MUI_PAGE_HEADER_TEXT
!insertmacro MUI_UNSET MUI_PAGE_HEADER_SUBTEXT

!macroend

!macro MUI_DESCRIPTION_BEGIN

FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043

StrCmp $0 -1 0 mui.description_begin_done
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:"
EnableWindow $MUI_TEMP1 0
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:$MUI_TEXT"
Goto mui.description_done
mui.description_begin_done:

!macroend

!macro MUI_DESCRIPTION_TEXT VAR TEXT

!verbose push
!verbose ${MUI_VERBOSE}

StrCmp $0 ${VAR} 0 mui.description_${VAR}_done
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:"
EnableWindow $MUI_TEMP1 1
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
Goto mui.description_done
mui.description_${VAR}_done:

!verbose pop

!macroend

!macro MUI_DESCRIPTION_END

!verbose push
!verbose ${MUI_VERBOSE}

mui.description_done:

!verbose pop

!macroend

!macro MUI_ENDHEADER

IfAbort mui.endheader_abort

!ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT & MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
!else ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
!else ifdef MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
!else
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
!endif

Goto mui.endheader_done

mui.endheader_abort:

!ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT & MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
!else ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT
!insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
!else ifdef MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
!else
!insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
!endif

mui.endheader_done:

!macroend

!macro MUI_ABORTWARNING

!ifdef MUI_FINISHPAGE_ABORTWARNINGCHECK
StrCmp $MUI_NOABORTWARNING "1" mui.quit
!endif

!ifdef MUI_ABORTWARNING_CANCEL_DEFAULT
MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_ABORTWARNING_TEXT}" IDYES mui.quit
!else
MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_ABORTWARNING_TEXT}" IDYES mui.quit
!endif

Abort
mui.quit:

!macroend

!macro MUI_UNABORTWARNING

!ifdef MUI_UNABORTWARNING_CANCEL_DEFAULT
MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_UNABORTWARNING_TEXT}" IDYES mui.quit
!else
MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_UNABORTWARNING_TEXT}" IDYES mui.quit
!endif

Abort
mui.quit:

!macroend

!macro MUI_GUIINIT

!insertmacro MUI_WELCOMEFINISHPAGE_INIT ""
!insertmacro MUI_HEADERIMAGE_INIT ""

!insertmacro MUI_GUIINIT_BASIC

!macroend

!macro MUI_UNGUIINIT

!insertmacro MUI_WELCOMEFINISHPAGE_INIT "UN"
!insertmacro MUI_HEADERIMAGE_INIT "UN"

!insertmacro MUI_GUIINIT_BASIC

!ifdef MUI_UNFINISHPAGE
!ifndef MUI_UNFINISHPAGE_NOAUTOCLOSE
SetAutoClose true
!endif
!endif

!macroend

!macro MUI_GUIINIT_BASIC

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
CreateFont $MUI_TEMP2 "$(^Font)" "$(^FontSize)" "700"
SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0

!ifndef MUI_HEADER_TRANSPARENT_TEXT

SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

!else

SetCtlColors $MUI_TEMP1 "" "transparent"

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
SetCtlColors $MUI_TEMP1 "" "transparent"

!endif

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
SetCtlColors $MUI_TEMP1 /BRANDING
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
SetCtlColors $MUI_TEMP1 /BRANDING
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:$(^Branding) "

!macroend

!macro MUI_WELCOMEFINISHPAGE_INIT UNINSTALLER

!ifdef MUI_${UNINSTALLER}WELCOMEPAGE | MUI_${UNINSTALLER}FINISHPAGE

!insertmacro INSTALLOPTIONS_EXTRACT_AS "${MUI_${UNINSTALLER}WELCOMEFINISHPAGE_INI}" "ioSpecial.ini"
File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${UNINSTALLER}WELCOMEFINISHPAGE_BITMAP}"

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\modern-wizard.bmp"

!ifdef MUI_${UNINSTALLER}WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Flags" ""
!endif

!endif

!macroend

!macro MUI_HEADERIMAGE_INIT UNINSTALLER

!ifdef MUI_HEADERIMAGE

InitPluginsDir

!ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL

StrCmp $(^RTL) 0 mui.headerimageinit_nortl

File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL}"

!ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL_NOSTRETCH
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
!else
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
!endif

Goto mui.headerimageinit_done

mui.headerimageinit_nortl:

!endif

File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP}"

!ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_NOSTRETCH
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
!else
SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
!endif

!ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL

mui.headerimageinit_done:

!endif

!endif

!macroend

;--------------------------------
;INTERFACE - FUNCTIONS

!macro MUI_FUNCTION_GUIINIT

Function .onGUIInit

!insertmacro MUI_GUIINIT

!ifdef MUI_CUSTOMFUNCTION_GUIINIT
Call "${MUI_CUSTOMFUNCTION_GUIINIT}"
!endif

FunctionEnd

!macroend

!macro MUI_FUNCTION_DESCRIPTION_BEGIN

!verbose push
!verbose ${MUI_VERBOSE}

!ifndef MUI_VAR_TEXT
Var MUI_TEXT
!define MUI_VAR_TEXT
!endif

Function .onMouseOverSection
!insertmacro MUI_DESCRIPTION_BEGIN

!verbose pop

!macroend

!macro MUI_FUNCTION_DESCRIPTION_END

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_DESCRIPTION_END
!ifdef MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION
Call "${MUI_CUSTOMFUNCTION_ONMOUSEOVERSECTION}"
!endif
FunctionEnd

!verbose pop

!macroend

!macro MUI_UNFUNCTION_DESCRIPTION_BEGIN

!verbose push
!verbose ${MUI_VERBOSE}

Function un.onMouseOverSection
!insertmacro MUI_DESCRIPTION_BEGIN

!verbose pop

!macroend

!macro MUI_UNFUNCTION_DESCRIPTION_END

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_DESCRIPTION_END
!ifdef MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION
Call "${MUI_CUSTOMFUNCTION_UNONMOUSEOVERSECTION}"
!endif
FunctionEnd

!verbose pop

!macroend

!macro MUI_FUNCTION_ABORTWARNING

Function .onUserAbort
!ifdef MUI_ABORTWARNING
!insertmacro MUI_ABORTWARNING
!endif
!ifdef MUI_CUSTOMFUNCTION_ABORT
Call "${MUI_CUSTOMFUNCTION_ABORT}"
!endif
FunctionEnd

!macroend

!macro MUI_FUNCTION_UNABORTWARNING

Function un.onUserAbort
!ifdef MUI_UNABORTWARNING
!insertmacro MUI_UNABORTWARNING
!endif
!ifdef MUI_CUSTOMFUNCTION_UNABORT
Call "${MUI_CUSTOMFUNCTION_UNABORT}"
!endif
FunctionEnd

!macroend

!macro MUI_UNFUNCTION_GUIINIT

Function un.onGUIInit

!insertmacro MUI_UNGUIINIT

!ifdef MUI_CUSTOMFUNCTION_UNGUIINIT
Call "${MUI_CUSTOMFUNCTION_UNGUIINIT}"
!endif

FunctionEnd

!macroend

!macro MUI_FUNCTIONS_DESCRIPTION_BEGIN

;1.65 compatibility

!warning "Modern UI macro name has changed. Please change MUI_FUNCTIONS_DESCRIPTION_BEGIN to MUI_FUNCTION_DESCRIPTION_BEGIN."

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN

!macroend

!macro MUI_FUNCTIONS_DESCRIPTION_END

;1.65 compatibility

!warning "Modern UI macro name has changed. Please change MUI_FUNCTIONS_DESCRIPTION_END to MUI_FUNCTION_DESCRIPTION_END."

!insertmacro MUI_FUNCTION_DESCRIPTION_END

!macroend

;--------------------------------
;START MENU FOLDER

!macro MUI_STARTMENU_GETFOLDER ID VAR

!verbose push
!verbose ${MUI_VERBOSE}

!ifdef MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME

ReadRegStr $MUI_TEMP1 "${MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME}"
StrCmp $MUI_TEMP1 "" +3
StrCpy "${VAR}" $MUI_TEMP1
Goto +2

StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"

!else

StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"

!endif

!verbose pop

!macroend

!macro MUI_STARTMENU_WRITE_BEGIN ID

!verbose push
!verbose ${MUI_VERBOSE}

!define MUI_STARTMENUPAGE_CURRENT_ID "${ID}"

StrCpy $MUI_TEMP1 "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" 1
StrCmp $MUI_TEMP1 ">" mui.startmenu_write_${MUI_STARTMENUPAGE_CURRENT_ID}_done

StrCmp "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" "" 0 mui.startmenu_writebegin_${MUI_STARTMENUPAGE_CURRENT_ID}_notempty

!insertmacro MUI_STARTMENU_GETFOLDER "${MUI_STARTMENUPAGE_CURRENT_ID}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"

mui.startmenu_writebegin_${MUI_STARTMENUPAGE_CURRENT_ID}_notempty:

!verbose pop

!macroend

!macro MUI_STARTMENU_WRITE_END

!verbose push
!verbose ${MUI_VERBOSE}

!ifdef MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME
WriteRegStr "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
!endif

mui.startmenu_write_${MUI_STARTMENUPAGE_CURRENT_ID}_done:

!undef MUI_STARTMENUPAGE_CURRENT_ID

!verbose pop

!macroend

;--------------------------------
;PAGES

!macro MUI_PAGE_INIT

!ifdef MUI_INSERT
!warning "MUI_[UN]PAGE_* inserted after MUI_LANGUAGE"
!endif

!insertmacro MUI_INTERFACE

!insertmacro MUI_DEFAULT MUI_PAGE_UNINSTALLER_PREFIX ""
!insertmacro MUI_DEFAULT MUI_PAGE_UNINSTALLER_FUNCPREFIX ""

!insertmacro MUI_UNSET MUI_UNIQUEID

!define MUI_UNIQUEID ${__LINE__}

!macroend

!macro MUI_UNPAGE_INIT

!ifndef MUI_UNINSTALLER
!define MUI_UNINSTALLER
!endif

!define MUI_PAGE_UNINSTALLER

!insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_PREFIX
!insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_FUNCPREFIX

!define MUI_PAGE_UNINSTALLER_PREFIX "UN"
!define MUI_PAGE_UNINSTALLER_FUNCPREFIX "un."

!macroend

!macro MUI_UNPAGE_END

!undef MUI_PAGE_UNINSTALLER
!undef MUI_PAGE_UNINSTALLER_PREFIX
!undef MUI_PAGE_UNINSTALLER_FUNCPREFIX

!macroend

!macro MUI_PAGE_WELCOME

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEPAGE

!insertmacro MUI_DEFAULT_IOCONVERT MUI_WELCOMEPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TITLE)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_WELCOMEPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TEXT)"

!ifndef MUI_VAR_HWND
Var MUI_HWND
!define MUI_VAR_HWND
!endif

PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom

PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}

PageExEnd

!insertmacro MUI_FUNCTION_WELCOMEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}

!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT

!verbose pop

!macroend

!macro MUI_PAGE_LICENSE LICENSEDATA

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}LICENSEPAGE

!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP "$(MUI_INNERTEXT_LICENSE_TOP)"
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BUTTON ""
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_CHECKBOX_TEXT ""
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT ""
!insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE ""

PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}license

PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}

Caption " "

LicenseData "${LICENSEDATA}"

!ifndef MUI_LICENSEPAGE_TEXT_BOTTOM
!ifndef MUI_LICENSEPAGE_CHECKBOX & MUI_LICENSEPAGE_RADIOBUTTONS
LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM)" "${MUI_LICENSEPAGE_BUTTON}"
!else ifdef MUI_LICENSEPAGE_CHECKBOX
LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_CHECKBOX)" "${MUI_LICENSEPAGE_BUTTON}"
!else
LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS)" "${MUI_LICENSEPAGE_BUTTON}"
!endif
!else
LicenseText "${MUI_LICENSEPAGE_TEXT_BOTTOM}" "${MUI_LICENSEPAGE_BUTTON}"
!endif

!ifdef MUI_LICENSEPAGE_CHECKBOX
LicenseForceSelection checkbox "${MUI_LICENSEPAGE_CHECKBOX_TEXT}"
!else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
LicenseForceSelection radiobuttons "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}" "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}"
!endif

PageExEnd

!insertmacro MUI_FUNCTION_LICENSEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}

!insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_TOP
!insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_BOTTOM
!insertmacro MUI_UNSET MUI_LICENSEPAGE_BUTTON
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT
!insertmacro MUI_UNSET MUI_LICENSEPAGE_RADIOBUTTONS
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_ACCEPT
!insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_DECLINE

!verbose pop

!macroend

!macro MUI_PAGE_COMPONENTS

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}COMPONENTSPAGE

!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_TOP ""
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_COMPLIST ""
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_INSTTYPE ""
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE)"
!insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)"

!ifndef MUI_VAR_TEXT
Var MUI_TEXT
!define MUI_VAR_TEXT
!endif

PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}components

PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}

Caption " "

ComponentText "${MUI_COMPONENTSPAGE_TEXT_TOP}" "${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}" "${MUI_COMPONENTSPAGE_TEXT_COMPLIST}"

PageExEnd

!insertmacro MUI_FUNCTION_COMPONENTSPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}

!undef MUI_COMPONENTSPAGE_TEXT_TOP
!undef MUI_COMPONENTSPAGE_TEXT_COMPLIST
!undef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
!insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
!insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO

!verbose pop

!macroend

!macro MUI_PAGE_DIRECTORY

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}DIRECTORYPAGE

!insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_TOP ""
!insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_DESTINATION ""

PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}directory

PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}

Caption " "

DirText "${MUI_DIRECTORYPAGE_TEXT_TOP}" "${MUI_DIRECTORYPAGE_TEXT_DESTINATION}"

!ifdef MUI_DIRECTORYPAGE_VARIABLE
DirVar "${MUI_DIRECTORYPAGE_VARIABLE}"
!endif

!ifdef MUI_DIRECTORYPAGE_VERIFYONLEAVE
DirVerify leave
!endif

PageExEnd

!insertmacro MUI_FUNCTION_DIRECTORYPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}

!undef MUI_DIRECTORYPAGE_TEXT_TOP
!undef MUI_DIRECTORYPAGE_TEXT_DESTINATION
!insertmacro MUI_UNSET MUI_DIRECTORYPAGE_BGCOLOR
!insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VARIABLE
!insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VERIFYONLEAVE

!verbose pop

!macroend

!macro MUI_PAGE_STARTMENU ID VAR

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}STARTMENUPAGE

!insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_DEFAULTFOLDER "$(^Name)"
!insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_TOP "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_TOP)"
!insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_CHECKBOX "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_CHECKBOX)"

!define MUI_STARTMENUPAGE_VARIABLE "${VAR}"
!define "MUI_STARTMENUPAGE_${ID}_VARIABLE" "${MUI_STARTMENUPAGE_VARIABLE}"
!define "MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
!define "MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT" "${MUI_STARTMENUPAGE_REGISTRY_ROOT}"
!endif
!ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
!define "MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY" "${MUI_STARTMENUPAGE_REGISTRY_KEY}"
!endif
!ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
!define "MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
!endif

!ifndef MUI_VAR_HWND
Var MUI_HWND
!define MUI_VAR_HWND
!endif

PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom

PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}

Caption " "

PageExEnd

!insertmacro MUI_FUNCTION_STARTMENUPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}

!undef MUI_STARTMENUPAGE_VARIABLE
!undef MUI_STARTMENUPAGE_TEXT_TOP
!undef MUI_STARTMENUPAGE_TEXT_CHECKBOX
!undef MUI_STARTMENUPAGE_DEFAULTFOLDER
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_NODISABLE
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_ROOT
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_KEY
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_VALUENAME
!insertmacro MUI_UNSET MUI_STARTMENUPAGE_BGCOLOR

!verbose pop

!macroend

!macro MUI_PAGE_INSTFILES

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INSTFILESPAGE

PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}instfiles

PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}

Caption " "

PageExEnd

!insertmacro MUI_FUNCTION_INSTFILESPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}

!insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_TEXT
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_TEXT
!insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_SUBTEXT

!verbose pop

!macroend

!macro MUI_PAGE_FINISH

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE

!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TITLE)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TEXT)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_BUTTON "$(MUI_BUTTONTEXT_FINISH)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT_REBOOT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_REBOOT)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT_REBOOTNOW "$(MUI_TEXT_FINISH_REBOOTNOW)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_TEXT_REBOOTLATER "$(MUI_TEXT_FINISH_REBOOTLATER)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_RUN_TEXT "$(MUI_TEXT_FINISH_RUN)"
!insertmacro MUI_DEFAULT_IOCONVERT MUI_FINISHPAGE_SHOWREADME_TEXT "$(MUI_TEXT_FINISH_SHOWREADME)"
!insertmacro MUI_DEFAULT MUI_FINISHPAGE_LINK_COLOR "000080"

!ifndef MUI_VAR_HWND
Var MUI_HWND
!define MUI_VAR_HWND
!endif

!ifndef MUI_PAGE_UNINSTALLER
!ifndef MUI_FINISHPAGE_NOAUTOCLOSE
AutoCloseWindow true
!endif
!endif

!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
!ifndef MUI_VAR_NOABORTWARNING
!define MUI_VAR_NOABORTWARNING
Var MUI_NOABORTWARNING
!endif
!endif

PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom

PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishLeave_${MUI_UNIQUEID}

Caption " "

PageExEnd

!insertmacro MUI_FUNCTION_FINISHPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishLeave_${MUI_UNIQUEID}

!insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE
!insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_3LINES
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_LARGE
!insertmacro MUI_UNSET MUI_FINISHPAGE_BUTTON
!insertmacro MUI_UNSET MUI_FINISHPAGE_CANCEL_ENABLED
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOT
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTNOW
!insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTLATER
!insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_DEFAULT
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TEXT
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_PARAMETERS
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_NOTCHECKED
!insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_FUNCTION
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TEXT
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_FUNCTION
!insertmacro MUI_UNSET MUI_FINISHPAGE_LINK
!insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_LOCATION
!insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_COLOR
!insertmacro MUI_UNSET MUI_FINISHPAGE_NOREBOOTSUPPORT

!insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_TOP
!insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_BOTTOM

!verbose pop

!macroend

!macro MUI_UNPAGE_WELCOME

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_UNPAGE_INIT

!insertmacro MUI_PAGE_WELCOME

!insertmacro MUI_UNPAGE_END

!verbose pop

!macroend

!macro MUI_UNPAGE_CONFIRM

!verbose push
!verbose ${MUI_VERBOSE}

!ifndef MUI_UNINSTALLER
!define MUI_UNINSTALLER
!endif

!insertmacro MUI_PAGE_INIT

!insertmacro MUI_SET MUI_UNCONFIRMPAGE

!insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_TOP ""
!insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_LOCATION ""

PageEx un.uninstConfirm

PageCallbacks un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}

Caption " "

UninstallText "${MUI_UNCONFIRMPAGE_TEXT_TOP}" "${MUI_UNCONFIRMPAGE_TEXT_LOCATION}"

PageExEnd

!insertmacro MUI_UNFUNCTION_CONFIRMPAGE un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}

!insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_TOP
!insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_LOCATION

!verbose pop

!macroend

!macro MUI_UNPAGE_LICENSE LICENSEDATA

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_UNPAGE_INIT

!insertmacro MUI_PAGE_LICENSE "${LICENSEDATA}"

!insertmacro MUI_UNPAGE_END

!verbose pop

!macroend

!macro MUI_UNPAGE_COMPONENTS

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_UNPAGE_INIT

!insertmacro MUI_PAGE_COMPONENTS

!insertmacro MUI_UNPAGE_END

!verbose pop

!macroend

!macro MUI_UNPAGE_DIRECTORY

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_UNPAGE_INIT

!insertmacro MUI_PAGE_DIRECTORY

!insertmacro MUI_UNPAGE_END

!verbose pop

!macroend

!macro MUI_UNPAGE_INSTFILES

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_UNPAGE_INIT

!insertmacro MUI_PAGE_INSTFILES

!insertmacro MUI_UNPAGE_END

!verbose pop

!macroend

!macro MUI_UNPAGE_FINISH

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_UNPAGE_INIT

!insertmacro MUI_PAGE_FINISH

!insertmacro MUI_UNPAGE_END

!verbose pop

!macroend

;--------------------------------
;PAGE FUNCTIONS

!macro MUI_PAGE_FUNCTION_CUSTOM TYPE

!ifdef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
Call "${MUI_PAGE_CUSTOMFUNCTION_${TYPE}}"
!undef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
!endif

!macroend

!macro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM

!ifdef MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT
Call "${MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT}"
!undef MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT
!endif

!macroend

!macro MUI_FUNCTION_WELCOMEPAGE PRE LEAVE

Function "${PRE}"

!insertmacro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NumFields" "3"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NextButtonText" ""
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "CancelEnabled" ""

!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 2" "Text" MUI_WELCOMEPAGE_TITLE

!ifndef MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "38"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "45"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "48"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "55"
!endif

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "185"
!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 3" "Text" MUI_WELCOMEPAGE_TEXT

!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE

LockWindow on
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_NORMAL}
LockWindow off

!insertmacro INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
Pop $MUI_HWND
SetCtlColors $MUI_HWND "" "${MUI_BGCOLOR}"

GetDlgItem $MUI_TEMP1 $MUI_HWND 1201
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

CreateFont $MUI_TEMP2 "$(^Font)" "12" "700"
SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0

GetDlgItem $MUI_TEMP1 $MUI_HWND 1202
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW

!insertmacro INSTALLOPTIONS_SHOW

LockWindow on
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_HIDE}
LockWindow off

FunctionEnd

Function "${LEAVE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE

FunctionEnd

!macroend

!macro MUI_FUNCTION_LICENSEPAGE PRE SHOW LEAVE

Function "${PRE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_SUBTITLE)

FunctionEnd

Function "${SHOW}"

!insertmacro MUI_INNERDIALOG_TEXT 1040 "${MUI_LICENSEPAGE_TEXT_TOP}"
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW

FunctionEnd

Function "${LEAVE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE

FunctionEnd

!macroend

!macro MUI_FUNCTION_COMPONENTSPAGE PRE SHOW LEAVE

Function "${PRE}"
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_SUBTITLE)
FunctionEnd

Function "${SHOW}"

!insertmacro MUI_INNERDIALOG_TEXT 1042 "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}"

FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043
EnableWindow $MUI_TEMP1 0

!insertmacro MUI_INNERDIALOG_TEXT 1043 "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
StrCpy $MUI_TEXT "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW

FunctionEnd

Function "${LEAVE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE

FunctionEnd

!macroend

!macro MUI_FUNCTION_DIRECTORYPAGE PRE SHOW LEAVE

Function "${PRE}"
!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_SUBTITLE)
FunctionEnd

Function "${SHOW}"
!ifdef MUI_DIRECTORYPAGE_BGCOLOR
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1019
SetCtlColors $MUI_TEMP1 "" "${MUI_DIRECTORYPAGE_BGCOLOR}"
!endif

!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
FunctionEnd

Function "${LEAVE}"
!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
FunctionEnd

!macroend

!macro MUI_FUNCTION_STARTMENUPAGE PRE LEAVE

Function "${PRE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE

!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME

StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" 0 +4

ReadRegStr $MUI_TEMP1 "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
StrCmp $MUI_TEMP1 "" +2
StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" $MUI_TEMP1

!endif

!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)

StrCmp $(^RTL) 0 mui.startmenu_nortl
!ifndef MUI_STARTMENUPAGE_NODISABLE
*hier hin
StartMenu::Init /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!endif
Goto mui.startmenu_initdone
mui.startmenu_nortl:
!ifndef MUI_STARTMENUPAGE_NODISABLE
StartMenu::Init /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!else
StartMenu::Init /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!endif
mui.startmenu_initdone:

Pop $MUI_HWND

!ifdef MUI_STARTMENUPAGE_BGCOLOR
GetDlgItem $MUI_TEMP1 $MUI_HWND 1002
SetCtlColors $MUI_TEMP1 "" "${MUI_STARTMENUPAGE_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $MUI_HWND 1004
SetCtlColors $MUI_TEMP1 "" "${MUI_STARTMENUPAGE_BGCOLOR}"
!endif

!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW

StartMenu::Show

Pop $MUI_TEMP1
StrCmp $MUI_TEMP1 "success" 0 +2
Pop "${MUI_STARTMENUPAGE_VARIABLE}"

FunctionEnd

Function "${LEAVE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE

FunctionEnd

!macroend

!macro MUI_FUNCTION_INSTFILESPAGE PRE SHOW LEAVE

Function "${PRE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_SUBTITLE)

FunctionEnd

Function "${SHOW}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW

FunctionEnd

Function "${LEAVE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE

!insertmacro MUI_ENDHEADER
!insertmacro MUI_LANGDLL_SAVELANGUAGE

FunctionEnd

!macroend

!macro MUI_FUNCTION_FINISHPAGE PRE LEAVE

Function "${PRE}"

!insertmacro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM

!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Settings" "NextButtonText" MUI_FINISHPAGE_BUTTON

!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "CancelEnabled" "1"
!endif

!ifndef MUI_FINISHPAGE_TITLE_3LINES
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "38"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "45"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "48"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "55"
!endif

!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 2" "Text" MUI_FINISHPAGE_TITLE

!ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
!ifndef MUI_FINISHPAGE_TITLE_3LINES
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "85"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "115"
!endif
!else
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "95"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "125"
!endif
!endif
!else
!ifndef MUI_FINISHPAGE_LINK
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "185"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "175"
!endif
!endif

!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT

IfRebootFlag 0 mui.finish_noreboot_init

!ifndef MUI_FINISHPAGE_TITLE_3LINES
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "85"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "115"
!endif
!else
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "95"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "125"
!endif
!endif

!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 3" "Text" MUI_FINISHPAGE_TEXT_REBOOT

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" "RadioButton"
!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 4" "Text" MUI_FINISHPAGE_TEXT_REBOOTNOW
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" "120"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" "321"
!ifndef MUI_FINISHPAGE_TITLE_3LINES
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "90"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "100"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "120"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "130"
!endif
!else
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "100"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "110"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "130"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "140"
!endif
!endif
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Type" "RadioButton"
!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 5" "Text" MUI_FINISHPAGE_TEXT_REBOOTLATER
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Left" "120"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Right" "321"
!ifndef MUI_FINISHPAGE_TITLE_3LINES
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Top" "110"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Bottom" "120"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Top" "110"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Bottom" "120"
!endif
!ifdef MUI_FINISHPAGE_REBOOTLATER_DEFAULT
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "0"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "1"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "1"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "0"
!endif

Goto mui.finish_load

mui.finish_noreboot_init:

!endif

!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 3" "Text" MUI_FINISHPAGE_TEXT

!ifdef MUI_FINISHPAGE_RUN

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" "CheckBox"
!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field 4" "Text" MUI_FINISHPAGE_RUN_TEXT
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" "120"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" "315"
!ifndef MUI_FINISHPAGE_TITLE_3LINES
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "90"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "100"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "120"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "130"
!endif
!else
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "100"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "110"
!else
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "130"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "140"
!endif
!endif
!ifndef MUI_FINISHPAGE_RUN_NOTCHECKED
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "1"
!endif

!endif

!ifdef MUI_FINISHPAGE_SHOWREADME

!ifdef MUI_FINISHPAGE_CURFIELD_NO
!undef MUI_FINISHPAGE_CURFIELD_NO
!endif

!ifndef MUI_FINISHPAGE_RUN
!define MUI_FINISHPAGE_CURFIELD_NO 4
!ifndef MUI_FINISHPAGE_TITLE_3LINES
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!define MUI_FINISHPAGE_CURFIELD_TOP 90
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 100
!else
!define MUI_FINISHPAGE_CURFIELD_TOP 120
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 130
!endif
!else
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!define MUI_FINISHPAGE_CURFIELD_TOP 100
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 110
!else
!define MUI_FINISHPAGE_CURFIELD_TOP 130
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 140
!endif
!endif
!else
!define MUI_FINISHPAGE_CURFIELD_NO 5
!ifndef MUI_FINISHPAGE_TITLE_3LINES
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!define MUI_FINISHPAGE_CURFIELD_TOP 110
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 120
!else
!define MUI_FINISHPAGE_CURFIELD_TOP 140
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 150
!endif
!else
!ifndef MUI_FINISHPAGE_TEXT_LARGE
!define MUI_FINISHPAGE_CURFIELD_TOP 120
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 130
!else
!define MUI_FINISHPAGE_CURFIELD_TOP 150
!define MUI_FINISHPAGE_CURFIELD_BOTTOM 160
!endif
!endif
!endif

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Type" "CheckBox"
!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_YES}" "Text" MUI_FINISHPAGE_SHOWREADME_TEXT
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Left" "120"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Right" "315"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Top" ${MUI_FINISHPAGE_CURFIELD_TOP}
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Bottom" ${MUI_FINISHPAGE_CURFIELD_BOTTOM}
!ifndef MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "State" "1"
!endif

!endif

!ifdef MUI_FINISHPAGE_LINK

!ifdef MUI_FINISHPAGE_CURFIELD_NO
!undef MUI_FINISHPAGE_CURFIELD_NO
!endif

!ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_CURFIELD_NO 6
!else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
!define MUI_FINISHPAGE_CURFIELD_NO 5
!else
!define MUI_FINISHPAGE_CURFIELD_NO 4
!endif

!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Type" "Link"
!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Text" MUI_FINISHPAGE_LINK
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Left" "120"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Right" "315"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Top" "175"
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Bottom" "185"
!insertmacro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "State" MUI_FINISHPAGE_LINK_LOCATION

!endif

!ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME & MUI_FINISHPAGE_LINK
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "6"
!else ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
!else ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_LINK
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
!else ifdef MUI_FINISHPAGE_SHOWREADME & MUI_FINISHPAGE_LINK
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
!else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME | MUI_FINISHPAGE_LINK
!insertmacro INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "4"
!endif

!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
mui.finish_load:
!endif

!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE

LockWindow on
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
ShowWindow $MUI_TEMP1 ${SW_HIDE}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_NORMAL}
LockWindow off

!insertmacro INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
Pop $MUI_HWND
SetCtlColors $MUI_HWND "" "${MUI_BGCOLOR}"

GetDlgItem $MUI_TEMP1 $MUI_HWND 1201
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

CreateFont $MUI_TEMP2 "$(^Font)" "12" "700"
SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0

GetDlgItem $MUI_TEMP1 $MUI_HWND 1202
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT

IfRebootFlag 0 mui.finish_noreboot_show

GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"

Goto mui.finish_show

mui.finish_noreboot_show:

!endif

!ifdef MUI_FINISHPAGE_RUN
GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
!endif

!ifdef MUI_FINISHPAGE_SHOWREADME
!ifndef MUI_FINISHPAGE_RUN
GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
!else
GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
!endif
SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
!endif

!ifdef MUI_FINISHPAGE_LINK
!ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
GetDlgItem $MUI_TEMP1 $MUI_HWND 1205
!else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
!else
GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
!endif
SetCtlColors $MUI_TEMP1 "${MUI_FINISHPAGE_LINK_COLOR}" "${MUI_BGCOLOR}"
!endif

!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
mui.finish_show:
!endif

!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW

!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
StrCpy $MUI_NOABORTWARNING "1"
!endif

!insertmacro INSTALLOPTIONS_SHOW

!ifdef MUI_FINISHPAGE_CANCEL_ENABLED
StrCpy $MUI_NOABORTWARNING ""
!endif

LockWindow on
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
ShowWindow $MUI_TEMP1 ${SW_NORMAL}

GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_HIDE}
LockWindow off

FunctionEnd

Function "${LEAVE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE

!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT

IfRebootFlag "" mui.finish_noreboot_end

!insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"

StrCmp $MUI_TEMP1 "1" 0 +2
Reboot

Return

mui.finish_noreboot_end:

!endif

!ifdef MUI_FINISHPAGE_RUN

!insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"

StrCmp $MUI_TEMP1 "1" 0 mui.finish_norun
!ifndef MUI_FINISHPAGE_RUN_FUNCTION
!ifndef MUI_FINISHPAGE_RUN_PARAMETERS
StrCpy $MUI_TEMP1 "$\"${MUI_FINISHPAGE_RUN}$\""
!else
StrCpy $MUI_TEMP1 "$\"${MUI_FINISHPAGE_RUN}$\" ${MUI_FINISHPAGE_RUN_PARAMETERS}"
!endif
Exec "$MUI_TEMP1"
!else
Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
!endif

mui.finish_norun:

!endif

!ifdef MUI_FINISHPAGE_SHOWREADME

!ifndef MUI_FINISHPAGE_RUN
!insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
!else
!insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 5" "State"
!endif

StrCmp $MUI_TEMP1 "1" 0 mui.finish_noshowreadme
!ifndef MUI_FINISHPAGE_SHOWREADME_FUNCTION
ExecShell "open" "${MUI_FINISHPAGE_SHOWREADME}"
!else
Call "${MUI_FINISHPAGE_SHOWREADME_FUNCTION}"
!endif

mui.finish_noshowreadme:

!endif

FunctionEnd

!macroend

!macro MUI_UNFUNCTION_CONFIRMPAGE PRE SHOW LEAVE

Function "${PRE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
!insertmacro MUI_HEADER_TEXT_PAGE $(MUI_UNTEXT_CONFIRM_TITLE) $(MUI_UNTEXT_CONFIRM_SUBTITLE)

FunctionEnd

Function "${SHOW}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW

FunctionEnd

Function "${LEAVE}"

!insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE

FunctionEnd

!macroend

;--------------------------------
;INSTALL OPTIONS (CUSTOM PAGES)

!macro MUI_INSTALLOPTIONS_EXTRACT FILE

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_EXTRACT "${FILE}"

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_EXTRACT_AS FILE FILENAME

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_EXTRACT_AS "${FILE}" "${FILENAME}"

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_DISPLAY FILE

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_DISPLAY "${FILE}"

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_DISPLAY_RETURN FILE

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_DISPLAY_RETURN "${FILE}"

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_INITDIALOG FILE

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_INITDIALOG "${FILE}"

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_SHOW

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_SHOW

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_SHOW_RETURN

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_SHOW_RETURN

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_READ VAR FILE SECTION KEY

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_READ "${VAR}" "${FILE}" "${SECTION}" "${KEY}"

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro INSTALLOPTIONS_WRITE "${FILE}" "${SECTION}" "${KEY}" "${VALUE}"

!verbose pop

!macroend

!macro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT FILE SECTION KEY SYMBOL

;Converts default strings from language files to InstallOptions format
;Only for use inside MUI

!verbose push
!verbose ${MUI_VERBOSE}

!ifndef "${SYMBOL}_DEFAULTSET"
!insertmacro INSTALLOPTIONS_WRITE "${FILE}" "${SECTION}" "${KEY}" "${${SYMBOL}}"
!else
Push "${${SYMBOL}}"
Call ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}Nsis2Io
Pop $MUI_TEMP1
!insertmacro INSTALLOPTIONS_WRITE "${FILE}" "${SECTION}" "${KEY}" $MUI_TEMP1
!endif

!verbose pop

!macroend

;--------------------------------
;RESERVE FILES

!macro MUI_RESERVEFILE_INSTALLOPTIONS

!verbose push
!verbose ${MUI_VERBOSE}

ReserveFile /plugin InstallOptions.dll

!verbose pop

!macroend

!macro MUI_RESERVEFILE_LANGDLL

!verbose push
!verbose ${MUI_VERBOSE}

ReserveFile /plugin LangDLL.dll

!verbose pop

!macroend

;--------------------------------
;LANGUAGES

!macro MUI_LANGUAGE NLFID

;Include a language

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_INSERT

LoadLanguageFile "${NSISDIR}\Contrib\Language files\${NLFID}.nlf"

;Include language file
!insertmacro LANGFILE_INCLUDE_WITHDEFAULT \
"${NSISDIR}\Contrib\Language files\${NLFID}.nsh" "${NSISDIR}\Contrib\Language files\English.nsh"

;Add language to list of languages for selection dialog
!define /ifndef MUI_LANGDLL_LANGUAGES ""
!define /redef MUI_LANGDLL_LANGUAGES \
`"${LANGFILE_${NLFID}_LANGDLL}" "${LANG_${NLFID}}" ${MUI_LANGDLL_LANGUAGES}`
!define /ifndef MUI_LANGDLL_LANGUAGES_CP ""
!define /redef MUI_LANGDLL_LANGUAGES_CP \
`"${LANGFILE_${NLFID}_LANGDLL}" "${LANG_${NLFID}}" "${LANG_${NLFID}_CP}" ${MUI_LANGDLL_LANGUAGES_CP}`

!verbose pop

!macroend

;--------------------------------
;LANGUAGE SELECTION DIALOG

!macro MUI_LANGDLL_DISPLAY

!verbose push
!verbose ${MUI_VERBOSE}

!insertmacro MUI_DEFAULT MUI_LANGDLL_WINDOWTITLE "Installer Language"
!insertmacro MUI_DEFAULT MUI_LANGDLL_INFO "Please select a language."

!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME

ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
StrCmp $MUI_TEMP1 "" mui.langdll_show
StrCpy $LANGUAGE $MUI_TEMP1
!ifndef MUI_LANGDLL_ALWAYSSHOW
Goto mui.langdll_done
!endif
mui.langdll_show:

!endif

!ifdef NSIS_CONFIG_SILENT_SUPPORT
IfSilent mui.langdll_done
!endif

!ifdef MUI_LANGDLL_ALLLANGUAGES
LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" A ${MUI_LANGDLL_LANGUAGES} ""
!else
LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" AC ${MUI_LANGDLL_LANGUAGES_CP} ""
!endif

Pop $LANGUAGE
StrCmp $LANGUAGE "cancel" 0 +2
Abort

!ifdef NSIS_CONFIG_SILENT_SUPPORT
mui.langdll_done:
!else ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
mui.langdll_done:
!endif

!verbose pop

!macroend

!macro MUI_LANGDLL_SAVELANGUAGE

!ifndef MUI_PAGE_UNINSTALLER

IfAbort mui.langdllsavelanguage_abort

!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
!endif

mui.langdllsavelanguage_abort:

!endif

!macroend

!macro MUI_UNGETLANGUAGE

!verbose pop

!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME

ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
StrCmp $MUI_TEMP1 "" 0 mui.ungetlanguage_setlang

!endif

!insertmacro MUI_LANGDLL_DISPLAY

!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME

Goto mui.ungetlanguage_done

mui.ungetlanguage_setlang:
StrCpy $LANGUAGE $MUI_TEMP1

mui.ungetlanguage_done:

!endif

!verbose pop

!macroend

;--------------------------------
;END

!verbose pop
!endif


Wow, do you really expect someone will read such long code?
Use pastebin for large scripts.


there is just a small problem, if I would know where I have to look, I wouldnt put it in this topic....