user variables, new macro to get startmenu folder, comp page desc box info text changes, welcome/finish page leave functions

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2728 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
joostverburg 2003-07-16 22:44:33 +00:00
parent 2adb778918
commit 8ae004ada7
5 changed files with 339 additions and 414 deletions

View file

@ -1,17 +1,22 @@
NSIS Modern User Interface - VERSION HISTORY
1.65 - June 16, 2003
1.65 - July 16, 2003
* New page configuration system, no different system for installers
with custom pages
* Default windows color for the license text background
* New format for example scripts
* Example script updates (new format, user variables)
* Improved registry storage for Start Menu folder
* ReserveFile macro for StartMenu plug-in
* Option to always show the language selection dialog
(even if a language has been stored in the registry)
* Checkboxes on Finish page can be used to call a function
* Support for custom leave functions for Start Menu Folder,
Welcome and Finish pages
* Support for a link on the Finish page
* New macro to get Start Menu folder in uninstaller
* Options to disable bitmap stretching
* Components page description box info text: always displayed
when mouse is outside box, disabled style
1.64 - April 27, 2003
* Support for license page with checkbox or radiobuttons to let the

View file

@ -224,7 +224,7 @@ follow these steps:</p>
!insertmacro MUI_STARTMENU_WRITE_END
</pre>
<p class="text"><span class="bold">MUI_STARTMENUPAGE_VARIABLE </span><span class="parameter">variable</span><br />
Variable to store the current Start Menu Folder. Default is $9.
Variable to store the current Start Menu Folder. Default is $MUI_STARTMENU_FOLDER.
You cannot use this variable in your script (or you should Push/Pop it).</p>
<p class="text"><span class="bold">MUI_STARTMENUPAGE_DEFAULTFOLDER </span><span class="parameter">folder</span><br />
The default Start Menu Folder. For installers with multiple languages, you can use a language string as value.</p>
@ -238,11 +238,10 @@ follow these steps:</p>
remember the users preference. You should also use it in the uninstaller to
remove the Start Menu folders. Don't forget to remove this key in the
uninstaller.</p>
<p class="text">In the uninstaller, these macro to get the Start Menu folder:</p>
<p class="text">In the uninstaller, use the MUI_STARTMENU_GETFOLDER macro to get the Start Menu folder:</p>
<pre class="margin">
!insertmacro MUI_STARTMENU_DELETE_BEGIN $R0 ;You can also use another variable
!insertmacro MUI_STARTMENU_GETFOLDER $R0 ;You can also use another variable
Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk"
!insertmacro MUI_STARTMENU_DELETE_END
</pre>
</div>
<p class="sub2header">Finish Page Settings</p>
@ -505,6 +504,10 @@ FunctionEnd
<p class="text">For custom fonts and colors, macro's for the initDialog and show
functions of InstallOptions are also available:</p>
<pre class="margin">
Var HWND
Var DLGITEM
Var FONT
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page Title"
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "A subtitle"
@ -512,24 +515,16 @@ Function FunctionName ;FunctionName defined with Page command
!insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
Push $R0
Push $R1
Push $R2
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioFile.ini"
Pop $R0 ;HWND of dialog
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioFile.ini"
Pop $HWND ;HWND of dialog
GetDlgItem $R1 $R0 1200 ;1200 + Field number - 1
GetDlgItem $DLGITEM $HWND 1200 ;1200 + Field number - 1
;$R1 contains the HWND of the first field
CreateFont $R2 "Tahoma" 10 700
SendMessage $R1 ${WM_SETFONT} $R2 0
;$DLGITEM contains the HWND of the first field
CreateFont $FONT "Tahoma" 10 700
SendMessage $DLGITEM ${WM_SETFONT} $FONT 0
!insertmacro MUI_INSTALLOPTIONS_SHOW
Pop $R2
Pop $R1
Pop $R0
!insertmacro MUI_INSTALLOPTIONS_SHOW
FunctionEnd
</pre>
@ -608,7 +603,8 @@ MUI_CUSTOMFUNCTION_UNGUIINIT
<p class="text">
<span class="bold">Welcome Page</span><br />
MUI_CUSTOMFUNCTION_WELCOME_PRE - You can write to the IO INI file of the page (ioSpecial.ini)<br />
MUI_CUSTOMFUNCTION_WELCOME_SHOW - ${MUI_HWND} contains HWND of Welcome dialog
MUI_CUSTOMFUNCTION_WELCOME_SHOW - $MUI_HWND contains HWND of Welcome dialog
MUI_CUSTOMFUNCTION_WELCOME_LEAVE
</p>
<p class="text">
<span class="bold">License Page</span><br />
@ -642,7 +638,8 @@ MUI_CUSTOMFUNCTION_INSTFILES_LEAVE
<p class="text">
<span class="bold">Finish Page</span><br />
MUI_CUSTOMFUNCTION_FINISH_PRE - You can write to the IO INI file of the page (ioSpecial.ini)<br />
MUI_CUSTOMFUNCTION_FINISH_SHOW - ${MUI_HWND} contains HWND of Finish dialog
MUI_CUSTOMFUNCTION_FINISH_SHOW - $MUI_HWND contains HWND of Finish dialog
MUI_CUSTOMFUNCTION_FINISH_LEAVE
</p>
<p class="text">
<span class="bold">Installer Abort</span><br />
@ -662,19 +659,24 @@ MUI_UNCUSTOMFUNCTION_INSTFILES_LEAVE
</p>
<p class="header">Version history</p>
<ul>
<li>1.65 - June 26, 2003
<li>1.65 - July 16, 2003
<ul>
<li>New page configuration system, no different system for installers
with custom pages</li>
<li>Default windows color for the license text background</li>
<li>New format for example scripts</li>
<li>Example script updates (new format, user variables)</li>
<li>Improved registry storage for Start Menu folder</li>
<li>ReserveFile macro for StartMenu plug-in</li>
<li>Option to always show the language selection dialog
(even if a language has been stored in the registry)</li>
<li>Checkboxes on Finish page can be used to call a function</li>
<li>Support for custom leave functions for Start Menu Folder,
Welcome and Finish pages</li>
<li>Support for a link on the Finish page</li>
<li>New macro to get Start Menu folder in uninstaller</li>
<li>Options to disable bitmap stretching</li>
<li>Components page description box info text: always displayed
when mouse is outside box, disabled style</li>
</ul></li>
</ul>
<p class="text"></p>
@ -694,29 +696,6 @@ MUI_UNCUSTOMFUNCTION_INSTFILES_LEAVE
<li>Language files have to be updated</li>
</ul></li>
</ul>
<p class="text"></p>
<ul>
<li>1.63 - March 9, 2003
<ul>
<li>Support for a bitmap in the wizard header</li>
<li>New defines to change the description area</li>
<li>MUI_SYSTEM inserted automatically</li>
<li>Single macro for language selection dialog</li>
<li>Removed page description in window title</li>
<li>Easier to customize resource files</li>
<li>New system for custom functions</li>
<li>Start Menu folder registry key automatically written</li>
<li>New InstallOptions macro's that do not remove the return value from
the stack</li>
<li>Support for custom pages before the finish page</li>
<li>Renamed Start Menu page defines</li>
<li>'Do not create shortcuts' checkbox can be removed</li>
<li>'MS Shell Dlg' font for header title</li>
<li>RTL support</li>
<li>Documentation updates</li>
<li>Minor fixes</li>
</ul></li>
</ul>
<p class="text"><a href="Changelog.txt">Complete version history</a></p>
<p class="header">Credits</p>
<p class="text">Made by Joost Verburg.<br />

View file

@ -22,14 +22,19 @@
!include "WinMessages.nsh"
!define MUI_TEMP1 $R0
!define MUI_TEMP2 $R1
!define MUI_TEMP3 $R2
!define MUI_HWND ${MUI_TEMP1}
!macro MUI_DEFINEVARS
Var MUI_TEMP1
Var MUI_TEMP2
!ifdef MUI_WELCOMEPAGE | MUI_FINISHPAGE
Var MUI_TEMP3
Var MUI_HWND
!endif
!macroend
!macro MUI_INTERFACE
;User interface
!ifndef MUI_UI
!define MUI_UI "${NSISDIR}\Contrib\UIs\modern.exe"
@ -154,14 +159,9 @@
!verbose 3
!endif
;Set text on inner dialogs component
Push ${MUI_TEMP1}
FindWindow ${MUI_TEMP1} "#32770" "" $HWNDPARENT
GetDlgItem ${MUI_TEMP1} ${MUI_TEMP1} ${CONTROL}
SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${TEXT}"
Pop ${MUI_TEMP1}
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${CONTROL}
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -175,15 +175,10 @@
!verbose 3
!endif
;Set text on the white rectangle
Push ${MUI_TEMP1}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1037
SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${TEXT}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1038
SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${SUBTEXT}"
Pop ${MUI_TEMP1}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${SUBTEXT}"
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -193,14 +188,15 @@
!macro MUI_DESCRIPTION_BEGIN
Push ${MUI_TEMP1}
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043
FindWindow ${MUI_TEMP1} "#32770" "" $HWNDPARENT
GetDlgItem ${MUI_TEMP1} ${MUI_TEMP1} 1043
StrCmp $0 -1 0 +3
SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:"
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_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)"
Goto mui.description_done
mui.description_begin_done:
!macroend
@ -210,11 +206,12 @@
!verbose 3
!endif
;Set text on the Description frame
StrCmp $0 ${VAR} 0 +3
SendMessage ${MUI_TEMP1} ${WM_SETTEXT} 0 "STR:${TEXT}"
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:
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -229,7 +226,6 @@
!endif
mui.description_done:
Pop ${MUI_TEMP1}
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -272,8 +268,6 @@
!macro MUI_ABORTWARNING
;Warning when Cancel button is pressed
MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(MUI_TEXT_ABORTWARNING)" IDYES quit
Abort
quit:
@ -299,63 +293,51 @@
!macro MUI_GUIINIT_BASIC
Push ${MUI_TEMP1}
Push ${MUI_TEMP2}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
CreateFont $MUI_TEMP2 "$(MUI_FONT_HEADER)" "$(MUI_FONTSIZE_HEADER)" "$(MUI_FONTSTYLE_HEADER)"
SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1037
CreateFont ${MUI_TEMP2} "$(MUI_FONT_HEADER)" "$(MUI_FONTSIZE_HEADER)" "$(MUI_FONTSTYLE_HEADER)"
SendMessage ${MUI_TEMP1} ${WM_SETFONT} ${MUI_TEMP2} 0
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1038
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1034
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1039
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1028
SetBkColor ${MUI_TEMP1} -1
GetWindowText ${MUI_TEMP2} ${MUI_TEMP1}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1256
SetBkColor ${MUI_TEMP1} -1
SendMessage ${MUI_TEMP1} ${WM_SETTEXT} ${NSIS_MAX_STRLEN} "STR:${MUI_TEMP2}"
Pop ${MUI_TEMP2}
Pop ${MUI_TEMP1}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
SetBkColor $MUI_TEMP1 -1
GetWindowText $MUI_TEMP2 $MUI_TEMP1
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
SetBkColor $MUI_TEMP1 -1
SendMessage $MUI_TEMP1 ${WM_SETTEXT} ${NSIS_MAX_STRLEN} "STR:$MUI_TEMP2"
!macroend
!macro MUI_UNGUIINIT_BASIC
Push ${MUI_TEMP1}
Push ${MUI_TEMP2}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
CreateFont $MUI_TEMP2 "$(un.MUI_FONT_HEADER)" "$(un.MUI_FONTSIZE_HEADER)" "$(un.MUI_FONTSTYLE_HEADER)"
SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1037
CreateFont ${MUI_TEMP2} "$(un.MUI_FONT_HEADER)" "$(un.MUI_FONTSIZE_HEADER)" "$(un.MUI_FONTSTYLE_HEADER)"
SendMessage ${MUI_TEMP1} ${WM_SETFONT} ${MUI_TEMP2} 0
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1038
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1034
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
SetBkColor $MUI_TEMP1 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1039
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1028
SetBkColor ${MUI_TEMP1} -1
GetWindowText ${MUI_TEMP2} ${MUI_TEMP1}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1256
SetBkColor ${MUI_TEMP1} -1
SendMessage ${MUI_TEMP1} ${WM_SETTEXT} ${NSIS_MAX_STRLEN} "STR:${MUI_TEMP2}"
Pop ${MUI_TEMP2}
Pop ${MUI_TEMP1}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
SetBkColor $MUI_TEMP1 -1
GetWindowText $MUI_TEMP2 $MUI_TEMP1
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
SetBkColor $MUI_TEMP1 -1
SendMessage $MUI_TEMP1 ${WM_SETTEXT} ${NSIS_MAX_STRLEN} "STR:$MUI_TEMP2"
!macroend
@ -363,20 +345,16 @@
!ifdef MUI_WELCOMEPAGE | MUI_FINISHPAGE
;Extract InstallOptions INI Files
!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "${MUI_SPECIALINI}" "ioSpecial.ini"
!insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "${MUI_SPECIALBITMAP}" "modern-wizard.bmp"
;Write bitmap location
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\modern-wizard.bmp"
;Write Welcome text
!ifdef MUI_WELCOMEPAGE
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Text" "$(MUI_TEXT_WELCOME_INFO_TITLE)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Text" "$(MUI_TEXT_WELCOME_INFO_TEXT)"
!endif
;Set stretching option
!ifdef MUI_SPECIALBITMAP_NOSTRETCH
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Flags" ""
!endif
@ -415,9 +393,9 @@
!macro MUI_STARTMENU_INITDEFINES
;Check defines
!ifndef MUI_STARTMENUPAGE_VARIABLE
!define MUI_STARTMENUPAGE_VARIABLE "$9"
Var MUI_STARTMENU_FOLDER
!define MUI_STARTMENUPAGE_VARIABLE "$MUI_STARTMENU_FOLDER"
!endif
!ifndef MUI_STARTMENUPAGE_DEFAULTFOLDER
@ -430,9 +408,9 @@
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
ReadRegStr ${MUI_TEMP1} "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
StrCmp ${MUI_TEMP1} "" +3
StrCpy "${VAR}" ${MUI_TEMP1}
ReadRegStr $MUI_TEMP1 "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
StrCmp $MUI_TEMP1 "" +3
StrCpy "${VAR}" $MUI_TEMP1
Goto +2
StrCpy "${VAR}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
@ -460,13 +438,11 @@
!ifndef MUI_MANUALVERBOSE
!verbose 3
!endif
Push ${MUI_TEMP1}
StrCpy ${MUI_TEMP1} ${MUI_STARTMENUPAGE_VARIABLE} 1
StrCmp ${MUI_TEMP1} ">" mui.startmenu_write_done
StrCpy $MUI_TEMP1 ${MUI_STARTMENUPAGE_VARIABLE} 1
StrCmp $MUI_TEMP1 ">" mui.startmenu_write_done
!insertmacro MUI_STARTMENU_GETFOLDER_IFEMPTY ${MUI_STARTMENUPAGE_VARIABLE}
!insertmacro MUI_STARTMENU_GETFOLDER_IFEMPTY ${MUI_STARTMENUPAGE_VARIABLE}
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -486,28 +462,12 @@
mui.startmenu_write_done:
Pop ${MUI_TEMP1}
!ifndef MUI_MANUALVERBOSE
!verbose 4
!endif
!macroend
!macro MUI_STARTMENU_DELETE_BEGIN VAR
Push ${MUI_TEMP1}
!insertmacro MUI_STARTMENU_GETFOLDER ${VAR}
!macroend
!macro MUI_STARTMENU_DELETE_END
Pop ${MUI_TEMP1}
!macroend
!macro MUI_LANGDLL_DISPLAY
!ifndef MUI_MANUALVERBOSE
@ -523,17 +483,15 @@
!endif
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
Push ${MUI_TEMP1}
ReadRegStr ${MUI_TEMP1} "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
StrCmp ${MUI_TEMP1} "" showlangdialog
StrCpy $LANGUAGE ${MUI_TEMP1}
!ifndef MUI_LANGDLL_ALWAYSSHOW
Goto mui.langdll_done
!endif
showlangdialog:
Pop ${MUI_TEMP1}
ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
StrCmp $MUI_TEMP1 "" showlangdialog
StrCpy $LANGUAGE $MUI_TEMP1
!ifndef MUI_LANGDLL_ALWAYSSHOW
Goto mui.langdll_done
!endif
showlangdialog:
!endif
LangDLL::LangDialog "${MUI_TEXT_LANGDLL_WINDOWTITLE}" "${MUI_TEXT_LANGDLL_INFO}" A ${MUI_LANGDLL_PUSHLIST} ""
@ -569,11 +527,9 @@
!endif
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
Push ${MUI_TEMP1}
ReadRegStr ${MUI_TEMP1} "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
StrCmp ${MUI_TEMP1} "" 0 mui.ungetlanguage_setlang
ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
StrCmp $MUI_TEMP1 "" 0 mui.ungetlanguage_setlang
!endif
@ -581,15 +537,13 @@
!ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
Goto mui.ungetlanguage_done
mui.ungetlanguage_setlang:
StrCpy $LANGUAGE ${MUI_TEMP1}
Goto mui.ungetlanguage_done
mui.ungetlanguage_setlang:
StrCpy $LANGUAGE $MUI_TEMP1
mui.ungetlanguage_done:
Pop ${MUI_TEMP1}
mui.ungetlanguage_done:
!endif
!ifndef MUI_MANUALVERBOSE
@ -611,7 +565,7 @@
!define MUI_WELCOMEPAGE
!endif
Page custom mui.Welcome "" "" "MUI_INSTALLBUTTON_WELCOME"
Page custom mui.WelcomePre mui.WelcomeLeave "" "MUI_INSTALLBUTTON_WELCOME"
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -715,7 +669,7 @@
!define MUI_FINISHPAGE
!endif
Page custom mui.Finish
Page custom mui.FinishPre mui.FinishLeave
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -772,7 +726,6 @@
!verbose 3
!endif
;Init plugin system
InitPluginsDir
File "/oname=$PLUGINSDIR\${FILE}" "${FILE}"
@ -789,7 +742,6 @@
!verbose 3
!endif
;Init plugin system
InitPluginsDir
File "/oname=$PLUGINSDIR\${FILENAME}" "${FILE}"
@ -806,12 +758,8 @@
!verbose 3
!endif
Push ${MUI_TEMP1}
InstallOptions::dialog "$PLUGINSDIR\${FILE}"
Pop ${MUI_TEMP1}
Pop ${MUI_TEMP1}
Pop $MUI_TEMP1
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -852,13 +800,9 @@
!ifndef MUI_MANUALVERBOSE
!verbose 3
!endif
Push ${MUI_TEMP1}
InstallOptions::show
Pop ${MUI_TEMP1}
Pop ${MUI_TEMP1}
Pop $MUI_TEMP1
!ifndef MUI_MANUALVERBOSE
!verbose 4
@ -928,7 +872,7 @@
!macro MUI_FUNCTIONS_PAGES
!ifdef MUI_WELCOMEPAGE
!insertmacro MUI_FUNCTIONS_WELCOMEPAGE mui.Welcome
!insertmacro MUI_FUNCTIONS_WELCOMEPAGE mui.WelcomePre mui.WelcomeLeave
!endif
!ifdef MUI_LICENSEPAGE
@ -950,74 +894,73 @@
!insertmacro MUI_FUNCTIONS_INSTFILESPAGE mui.InstFilesPre mui.InstFilesShow mui.InstFilesLeave
!ifdef MUI_FINISHPAGE
!insertmacro MUI_FUNCTIONS_FINISHPAGE mui.Finish
!insertmacro MUI_FUNCTIONS_FINISHPAGE mui.FinishPre mui.FinishLeave
!endif
!macroend
!macro MUI_FUNCTIONS_WELCOMEPAGE FUNCTION
!macro MUI_FUNCTIONS_WELCOMEPAGE PRE LEAVE
Function "${FUNCTION}"
Function "${PRE}"
Push ${MUI_TEMP1}
Push ${MUI_TEMP2}
Push ${MUI_TEMP3}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
ShowWindow $MUI_TEMP1 ${SW_HIDE}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1028
ShowWindow ${MUI_TEMP1} ${SW_HIDE}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
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 1035
ShowWindow $MUI_TEMP1 ${SW_HIDE}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1045
ShowWindow ${MUI_TEMP1} ${SW_NORMAL}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_NORMAL}
!ifdef MUI_CUSTOMFUNCTION_WELCOME_PRE
Call "${MUI_CUSTOMFUNCTION_WELCOME_PRE}"
!endif
!ifdef MUI_CUSTOMFUNCTION_WELCOME_PRE
Call "${MUI_CUSTOMFUNCTION_WELCOME_PRE}"
!endif
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
Pop ${MUI_TEMP1}
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
Pop $MUI_HWND
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
SetBkColor $MUI_HWND "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1201
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
CreateFont ${MUI_TEMP3} "$(MUI_FONT_TITLE)" "$(MUI_FONTSIZE_TITLE)" "$(MUI_FONTSTYLE_TITLE)"
SendMessage ${MUI_TEMP2} ${WM_SETFONT} ${MUI_TEMP3} 0
GetDlgItem $MUI_TEMP2 $MUI_HWND 1201
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
CreateFont $MUI_TEMP3 "$(MUI_FONT_TITLE)" "$(MUI_FONTSIZE_TITLE)" "$(MUI_FONTSTYLE_TITLE)"
SendMessage $MUI_TEMP2 ${WM_SETFONT} $MUI_TEMP3 0
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1202
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP2 $MUI_HWND 1202
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1200
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP2 $MUI_HWND 1200
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
!ifdef MUI_CUSTOMFUNCTION_WELCOME_SHOW
Call "${MUI_CUSTOMFUNCTION_WELCOME_SHOW}"
!endif
!ifdef MUI_CUSTOMFUNCTION_WELCOME_SHOW
Call "${MUI_CUSTOMFUNCTION_WELCOME_SHOW}"
!endif
!insertmacro MUI_INSTALLOPTIONS_SHOW
!insertmacro MUI_INSTALLOPTIONS_SHOW
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 1028
ShowWindow ${MUI_TEMP1} ${SW_NORMAL}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_HIDE}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1256
ShowWindow ${MUI_TEMP1} ${SW_NORMAL}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1035
ShowWindow ${MUI_TEMP1} ${SW_NORMAL}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1045
ShowWindow ${MUI_TEMP1} ${SW_HIDE}
Pop ${MUI_TEMP3}
Pop ${MUI_TEMP2}
Pop ${MUI_TEMP1}
FunctionEnd
Function "${LEAVE}"
!ifdef MUI_CUSTOMFUNCTION_WELCOME_LEAVE
Call "${MUI_CUSTOMFUNCTION_WELCOME_LEAVE}"
!endif
FunctionEnd
!macroend
@ -1057,6 +1000,9 @@
Function "${SHOW}"
!insertmacro MUI_INNERDIALOG_TEXT 1042 $(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE)
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043
EnableWindow $MUI_TEMP1 0
!insertmacro MUI_INNERDIALOG_TEXT 1043 $(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)
!ifdef MUI_CUSTOMFUNCTION_COMPONENTS_SHOW
Call "${MUI_CUSTOMFUNCTION_COMPONENTS_SHOW}"
@ -1103,32 +1049,26 @@
Call "${MUI_CUSTOMFUNCTION_STARTMENU_PRE}"
!endif
Push ${MUI_TEMP1}
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
!ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" 0 +4
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}
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
!endif
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
!insertmacro MUI_HEADER_TEXT $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
!ifndef MUI_STARTMENUPAGE_NODISABLE
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!else
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!endif
!ifndef MUI_STARTMENUPAGE_NODISABLE
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "$(MUI_INNERTEXT_STARTMENU_CHECKBOX)" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!else
StartMenu::Select /noicon /autoadd /text "$(MUI_INNERTEXT_STARTMENU_TOP)" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
!endif
Pop ${MUI_TEMP1}
StrCmp ${MUI_TEMP1} "success" 0 +2
Pop "${MUI_STARTMENUPAGE_VARIABLE}"
Pop ${MUI_TEMP1}
StrCmp $MUI_TEMP1 "success" 0 +2
Pop "${MUI_STARTMENUPAGE_VARIABLE}"
FunctionEnd
@ -1169,27 +1109,22 @@
!macroend
!macro MUI_FUNCTIONS_FINISHPAGE FUNCTION
!macro MUI_FUNCTIONS_FINISHPAGE PRE LEAVE
Function "${FUNCTION}"
Push ${MUI_TEMP1}
Push ${MUI_TEMP2}
Push ${MUI_TEMP3}
Function "${PRE}"
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1028
ShowWindow ${MUI_TEMP1} ${SW_HIDE}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
ShowWindow $MUI_TEMP1 ${SW_HIDE}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1256
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 1035
ShowWindow $MUI_TEMP1 ${SW_HIDE}
GetDlgItem ${MUI_TEMP1} $HWNDPARENT 1045
ShowWindow ${MUI_TEMP1} ${SW_NORMAL}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_NORMAL}
;Write Finish text
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Text" "$(MUI_TEXT_FINISH_INFO_TITLE)"
!insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "45"
@ -1309,133 +1244,126 @@
!endif
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
Pop ${MUI_TEMP1}
SetBkColor ${MUI_TEMP1} "${MUI_BGCOLOR}"
Pop $MUI_HWND
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1201
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
CreateFont ${MUI_TEMP3} "$(MUI_FONT_TITLE)" "$(MUI_FONTSIZE_TITLE)" "$(MUI_FONTSTYLE_TITLE)"
SendMessage ${MUI_TEMP2} ${WM_SETFONT} ${MUI_TEMP3} 0
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1202
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
SetBkColor $MUI_HWND "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP2 $MUI_HWND 1201
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
CreateFont $MUI_TEMP3 "$(MUI_FONT_TITLE)" "$(MUI_FONTSIZE_TITLE)" "$(MUI_FONTSTYLE_TITLE)"
SendMessage $MUI_TEMP2 ${WM_SETFONT} $MUI_TEMP3 0
GetDlgItem $MUI_TEMP2 $MUI_HWND 1202
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
IfRebootFlag "" mui.finish_noreboot_show
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1203
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
IfRebootFlag "" mui.finish_noreboot_show
GetDlgItem $MUI_TEMP2 $MUI_TEMP1 1203
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP2 $MUI_TEMP1 1204
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1204
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
Goto mui.finish_show
Goto mui.finish_show
mui.finish_noreboot_show:
!endif
mui.finish_noreboot_show:
!ifdef MUI_FINISHPAGE_RUN
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1203
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
!endif
!endif
!ifdef MUI_FINISHPAGE_RUN
GetDlgItem $MUI_TEMP2 $MUI_HWND 1203
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
!endif
!ifdef MUI_FINISHPAGE_SHOWREADME
!ifndef MUI_FINISHPAGE_RUN
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1203
!else
GetDlgItem ${MUI_TEMP2} ${MUI_TEMP1} 1204
!endif
SetBkColor ${MUI_TEMP2} "${MUI_BGCOLOR}"
!ifdef MUI_FINISHPAGE_SHOWREADME
!ifndef MUI_FINISHPAGE_RUN
GetDlgItem $MUI_TEMP2 $MUI_HWND 1203
!else
GetDlgItem $MUI_TEMP2 $MUI_HWND 1204
!endif
SetBkColor $MUI_TEMP2 "${MUI_BGCOLOR}"
!endif
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
mui.finish_show:
!endif
!ifdef MUI_CUSTOMFUNCTION_FINISH_SHOW
Call "${MUI_CUSTOMFUNCTION_FINISH_SHOW}"
!endif
!insertmacro MUI_INSTALLOPTIONS_SHOW_RETURN
StrCmp $MUI_TEMP1 "success" 0 mui.finish_done
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 1045
ShowWindow $MUI_TEMP1 ${SW_HIDE}
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
IfRebootFlag "" mui.finish_noreboot_end
!insertmacro MUI_INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
mui.finish_show:
!endif
!ifdef MUI_CUSTOMFUNCTION_FINISH_SHOW
Call "${MUI_CUSTOMFUNCTION_FINISH_SHOW}"
!endif
!insertmacro MUI_INSTALLOPTIONS_SHOW_RETURN
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 1045
ShowWindow ${MUI_TEMP1} ${SW_HIDE}
Pop ${MUI_TEMP1}
StrCmp ${MUI_TEMP1} "success" 0 mui.finish_done
!ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
IfRebootFlag "" mui.finish_noreboot_end
!insertmacro MUI_INSTALLOPTIONS_READ ${MUI_TEMP1} "ioSpecial.ini" "Field 4" "State"
StrCmp ${MUI_TEMP1} "1" 0 +2
Reboot
StrCmp $MUI_TEMP1 "1" 0 +2
Reboot
Goto mui.finish_done
Goto mui.finish_done
mui.finish_noreboot_end:
mui.finish_noreboot_end:
!endif
!endif
!ifdef MUI_FINISHPAGE_RUN
!insertmacro MUI_INSTALLOPTIONS_READ ${MUI_TEMP1} "ioSpecial.ini" "Field 4" "State"
!ifdef MUI_FINISHPAGE_RUN
!insertmacro MUI_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}"
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
Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
StrCpy $MUI_TEMP1 "$\"${MUI_FINISHPAGE_RUN}$\" ${MUI_FINISHPAGE_RUN_PARAMETERS}"
!endif
Exec "$MUI_TEMP1"
!else
Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
!endif
mui.finish_norun:
mui.finish_norun:
!endif
!endif
!ifdef MUI_FINISHPAGE_SHOWREADME
!ifndef MUI_FINISHPAGE_RUN
!insertmacro MUI_INSTALLOPTIONS_READ ${MUI_TEMP1} "ioSpecial.ini" "Field 4" "State"
!else
!insertmacro MUI_INSTALLOPTIONS_READ ${MUI_TEMP1} "ioSpecial.ini" "Field 5" "State"
!endif
!ifdef MUI_FINISHPAGE_SHOWREADME
!ifndef MUI_FINISHPAGE_RUN
!insertmacro MUI_INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
!else
!insertmacro MUI_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
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_done:
Pop ${MUI_TEMP3}
Pop ${MUI_TEMP2}
Pop ${MUI_TEMP1}
mui.finish_noshowreadme:
!endif
mui.finish_done:
!ifdef MUI_CUSTOMFUNCTION_FINISH
Call "${MUI_CUSTOMFUNCTION_FINISH}"
@ -1443,6 +1371,14 @@
FunctionEnd
Function "${LEAVE}"
!ifdef MUI_CUSTOMFUNCTION_FINISH_LEAVE
Call "${MUI_CUSTOMFUNCTION_FINISH_LEAVE}"
!endif
FunctionEnd
!macroend
!macro MUI_FUNCTIONS_DESCRIPTION_BEGIN
@ -1665,6 +1601,8 @@
!define MUI_MANUALVERBOSE_SET
!define MUI_MANUALVERBOSE
!endif
!insertmacro MUI_DEFINEVARS
!ifdef MUI_STARTMENUPAGE
!insertmacro MUI_STARTMENU_INITDEFINES

View file

@ -2,9 +2,7 @@
;InstallOptions Example Script
;Written by Joost Verburg
!define TEMP $R0
;--------------------------------
---------------------
;Include Modern UI
!include "MUI.nsh"
@ -27,6 +25,11 @@
;Get install folder from registry if available
InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" ""
;--------------------------------
;Variables
Var TEMP
;--------------------------------
;Pages
@ -83,10 +86,10 @@ Section "Dummy Section" SecDummy
WriteUninstaller "$INSTDIR\Uninstall.exe"
;Read a value from an InstallOptions INI file
!insertmacro MUI_INSTALLOPTIONS_READ ${TEMP} "ioC.ini" "Field 2" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $TEMP "ioC.ini" "Field 2" "State"
;Display a messagebox if check box was checked
StrCmp ${TEMP} "1" "" +2
StrCmp $TEMP "1" "" +2
MessageBox MB_OK "You checked the check box, here is the MessageBox..."
SectionEnd

View file

@ -2,8 +2,6 @@
;Start Menu Folder Selection Example Script
;Written by Joost Verburg
!define TEMP $R0
;--------------------------------
;Include Modern UI
@ -27,6 +25,11 @@
;Get install folder from registry if available
InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" ""
;--------------------------------
;Variables
Var TEMP
;--------------------------------
;Pages
@ -44,13 +47,6 @@
!define MUI_ABORTWARNING
;$9 is being used to store the Start Menu Folder.
;Do not use this variable in your script!
;To change this variable, use MUI_STARTMENUPAGE_VARIABLE.
;Have a look at the Readme for info about other options (default folder,
;registry).
;Remember the Start Menu Folder
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}"
@ -91,8 +87,8 @@ Section "Dummy Section" SecDummy
!insertmacro MUI_STARTMENU_WRITE_BEGIN
;Create shortcuts
CreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
CreateDirectory "$SMPROGRAMS\$MUI_STARTMENU_FOLDER"
CreateShortCut "$SMPROGRAMS\$MUI_STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END
@ -118,17 +114,21 @@ Section "Uninstall"
RMDir "$INSTDIR"
!insertmacro MUI_STARTMENU_DELETE_BEGIN ${TEMP}
Delete "$SMPROGRAMS\${TEMP}\Uninstall.lnk"
; Only if empty, so it won't delete other shortcuts
StrCpy ${TEMP} "$SMPROGRAMS\${TEMP}"
startMenuDeleteLoop:
RMDir ${TEMP}
GetFullPathName ${TEMP} "${TEMP}\.."
IfErrors startMenuDeleteLoopDone
StrCmp ${TEMP} $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
!insertmacro MUI_STARTMENU_DELETE_END
!insertmacro MUI_STARTMENU_GETFOLDER $TEMP
Delete "$SMPROGRAMS\$TEMP\Uninstall.lnk"
;Delete empty start menu parent diretories
StrCpy $TEMP "$SMPROGRAMS\$TEMP"
startMenuDeleteLoop:
RMDir ${TEMP}
GetFullPathName $TEMP "$TEMP\.."
IfErrors startMenuDeleteLoopDone
StrCmp ${TEMP} $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
DeleteRegKey /ifempty HKCU "Software\${MUI_PRODUCT}"