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 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 * New page configuration system, no different system for installers
with custom pages with custom pages
* Default windows color for the license text background * 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 * Improved registry storage for Start Menu folder
* ReserveFile macro for StartMenu plug-in * ReserveFile macro for StartMenu plug-in
* Option to always show the language selection dialog * Option to always show the language selection dialog
(even if a language has been stored in the registry) (even if a language has been stored in the registry)
* Checkboxes on Finish page can be used to call a function * 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 * Support for a link on the Finish page
* New macro to get Start Menu folder in uninstaller
* Options to disable bitmap stretching * 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 1.64 - April 27, 2003
* Support for license page with checkbox or radiobuttons to let the * 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 !insertmacro MUI_STARTMENU_WRITE_END
</pre> </pre>
<p class="text"><span class="bold">MUI_STARTMENUPAGE_VARIABLE </span><span class="parameter">variable</span><br /> <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> 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 /> <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> 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 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 remove the Start Menu folders. Don't forget to remove this key in the
uninstaller.</p> 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"> <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" Delete "$SMPROGRAMS\$R0\Your Shortcut.lnk"
!insertmacro MUI_STARTMENU_DELETE_END
</pre> </pre>
</div> </div>
<p class="sub2header">Finish Page Settings</p> <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 <p class="text">For custom fonts and colors, macro's for the initDialog and show
functions of InstallOptions are also available:</p> functions of InstallOptions are also available:</p>
<pre class="margin"> <pre class="margin">
Var HWND
Var DLGITEM
Var FONT
LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page Title" LangString TEXT_IO_TITLE ${LANG_ENGLISH} "Install Options Page Title"
LangString TEXT_IO_SUBTITLE ${LANG_ENGLISH} "A subtitle" 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)" !insertmacro MUI_HEADER_TEXT "$(TEXT_IO_TITLE)" "$(TEXT_IO_SUBTITLE)"
Push $R0 !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioFile.ini"
Push $R1 Pop $HWND ;HWND of dialog
Push $R2
!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioFile.ini"
Pop $R0 ;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 ;$DLGITEM contains the HWND of the first field
CreateFont $R2 "Tahoma" 10 700 CreateFont $FONT "Tahoma" 10 700
SendMessage $R1 ${WM_SETFONT} $R2 0 SendMessage $DLGITEM ${WM_SETFONT} $FONT 0
!insertmacro MUI_INSTALLOPTIONS_SHOW !insertmacro MUI_INSTALLOPTIONS_SHOW
Pop $R2
Pop $R1
Pop $R0
FunctionEnd FunctionEnd
</pre> </pre>
@ -608,7 +603,8 @@ MUI_CUSTOMFUNCTION_UNGUIINIT
<p class="text"> <p class="text">
<span class="bold">Welcome Page</span><br /> <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_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>
<p class="text"> <p class="text">
<span class="bold">License Page</span><br /> <span class="bold">License Page</span><br />
@ -642,7 +638,8 @@ MUI_CUSTOMFUNCTION_INSTFILES_LEAVE
<p class="text"> <p class="text">
<span class="bold">Finish Page</span><br /> <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_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>
<p class="text"> <p class="text">
<span class="bold">Installer Abort</span><br /> <span class="bold">Installer Abort</span><br />
@ -662,19 +659,24 @@ MUI_UNCUSTOMFUNCTION_INSTFILES_LEAVE
</p> </p>
<p class="header">Version history</p> <p class="header">Version history</p>
<ul> <ul>
<li>1.65 - June 26, 2003 <li>1.65 - July 16, 2003
<ul> <ul>
<li>New page configuration system, no different system for installers <li>New page configuration system, no different system for installers
with custom pages</li> with custom pages</li>
<li>Default windows color for the license text background</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>Improved registry storage for Start Menu folder</li>
<li>ReserveFile macro for StartMenu plug-in</li> <li>ReserveFile macro for StartMenu plug-in</li>
<li>Option to always show the language selection dialog <li>Option to always show the language selection dialog
(even if a language has been stored in the registry)</li> (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>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>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>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></li>
</ul> </ul>
<p class="text"></p> <p class="text"></p>
@ -694,29 +696,6 @@ MUI_UNCUSTOMFUNCTION_INSTFILES_LEAVE
<li>Language files have to be updated</li> <li>Language files have to be updated</li>
</ul></li> </ul></li>
</ul> </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="text"><a href="Changelog.txt">Complete version history</a></p>
<p class="header">Credits</p> <p class="header">Credits</p>
<p class="text">Made by Joost Verburg.<br /> <p class="text">Made by Joost Verburg.<br />

View file

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

View file

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

View file

@ -2,8 +2,6 @@
;Start Menu Folder Selection Example Script ;Start Menu Folder Selection Example Script
;Written by Joost Verburg ;Written by Joost Verburg
!define TEMP $R0
;-------------------------------- ;--------------------------------
;Include Modern UI ;Include Modern UI
@ -27,6 +25,11 @@
;Get install folder from registry if available ;Get install folder from registry if available
InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" "" InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" ""
;--------------------------------
;Variables
Var TEMP
;-------------------------------- ;--------------------------------
;Pages ;Pages
@ -44,13 +47,6 @@
!define MUI_ABORTWARNING !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 ;Remember the Start Menu Folder
!define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKCU"
!define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}" !define MUI_STARTMENUPAGE_REGISTRY_KEY "Software\${MUI_PRODUCT}"
@ -91,8 +87,8 @@ Section "Dummy Section" SecDummy
!insertmacro MUI_STARTMENU_WRITE_BEGIN !insertmacro MUI_STARTMENU_WRITE_BEGIN
;Create shortcuts ;Create shortcuts
CreateDirectory "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}" CreateDirectory "$SMPROGRAMS\$MUI_STARTMENU_FOLDER"
CreateShortCut "$SMPROGRAMS\${MUI_STARTMENUPAGE_VARIABLE}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" CreateShortCut "$SMPROGRAMS\$MUI_STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
!insertmacro MUI_STARTMENU_WRITE_END !insertmacro MUI_STARTMENU_WRITE_END
@ -118,17 +114,21 @@ Section "Uninstall"
RMDir "$INSTDIR" RMDir "$INSTDIR"
!insertmacro MUI_STARTMENU_DELETE_BEGIN ${TEMP} !insertmacro MUI_STARTMENU_GETFOLDER $TEMP
Delete "$SMPROGRAMS\${TEMP}\Uninstall.lnk"
; Only if empty, so it won't delete other shortcuts Delete "$SMPROGRAMS\$TEMP\Uninstall.lnk"
StrCpy ${TEMP} "$SMPROGRAMS\${TEMP}"
startMenuDeleteLoop: ;Delete empty start menu parent diretories
RMDir ${TEMP} StrCpy $TEMP "$SMPROGRAMS\$TEMP"
GetFullPathName ${TEMP} "${TEMP}\.."
IfErrors startMenuDeleteLoopDone startMenuDeleteLoop:
StrCmp ${TEMP} $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop RMDir ${TEMP}
startMenuDeleteLoopDone: GetFullPathName $TEMP "$TEMP\.."
!insertmacro MUI_STARTMENU_DELETE_END
IfErrors startMenuDeleteLoopDone
StrCmp ${TEMP} $SMPROGRAMS startMenuDeleteLoopDone startMenuDeleteLoop
startMenuDeleteLoopDone:
DeleteRegKey /ifempty HKCU "Software\${MUI_PRODUCT}" DeleteRegKey /ifempty HKCU "Software\${MUI_PRODUCT}"