diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..3b31cb7
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "files.autoGuessEncoding": true,
+ "nsis.bridlensis.nsisHome": "C:\\ProgramData\\NSIS",
+ "nsis.pathToMakensis": "C:\\ProgramData\\NSIS\\Bin\\makensis.exe"
+}
\ No newline at end of file
diff --git a/Contrib/UltraModernUI/Language files/French.nsh b/Contrib/UltraModernUI/Language files/French.nsh
index 7723974..cd56c41 100644
--- a/Contrib/UltraModernUI/Language files/French.nsh
+++ b/Contrib/UltraModernUI/Language files/French.nsh
@@ -123,8 +123,8 @@
${LangFileString} UMUI_TEXT_ADDITIONALTASKS_TITLE "Tâches supplémentaires"
${LangFileString} UMUI_TEXT_ADDITIONALTASKS_SUBTITLE "Quelles sont les tâches supplémentaires qui doivent être effectuées?"
${LangFileString} UMUI_TEXT_ADDITIONALTASKS_ADDITIONAL_ICONS "Icônes Additionnelles:"
- ${LangFileString} UMUI_TEXT_ADDITIONALTASKS_CREATE_DESKTOP_ICON "Créer une icône de bureau"
- ${LangFileString} UMUI_TEXT_ADDITIONALTASKS_CREATE_QUICK_LAUNCH_ICON "Créer une icône de lancement rapide"
+ ${LangFileString} UMUI_TEXT_ADDITIONALTASKS_CREATE_DESKTOP_ICON "Créer une icône sur le bureau"
+ ${LangFileString} UMUI_TEXT_ADDITIONALTASKS_CREATE_QUICK_LAUNCH_ICON "Créer une icône dans la barre de lancement rapide"
${LangFileString} UMUI_TEXT_ADDITIONALTASKS_ADVANCED_PARAMETERS "Paramètres avancés:"
${LangFileString} UMUI_TEXT_ADDITIONALTASKS_LAUNCH_PROGRAM_AT_WINDOWS_STARTUP "Lancer $(^NameDA) au démarrage de Windows"
${LangFileString} UMUI_TEXT_ADDITIONALTASKS_FILE_ASSOCIATION "Association de fichier:"
diff --git a/Contrib/UltraModernUI/Language files/Hindi.nsh b/Contrib/UltraModernUI/Language files/Hindi.nsh
new file mode 100644
index 0000000..e69de29
diff --git a/Contrib/UltraModernUI/Skins/SoftBlue.nsh b/Contrib/UltraModernUI/Skins/SoftBlue.nsh
index cf8566c..43b8d0a 100644
--- a/Contrib/UltraModernUI/Skins/SoftBlue.nsh
+++ b/Contrib/UltraModernUI/Skins/SoftBlue.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR 3d66ab
+!define /IfNDef MUI_TEXTCOLOR 3d66ab
!define /IfNDef MUI_BGCOLOR e8f1f9
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 0000FF
!define /IfNDef UMUI_HEADERTEXT_COLOR 335182
diff --git a/Contrib/UltraModernUI/Skins/SoftBrown.nsh b/Contrib/UltraModernUI/Skins/SoftBrown.nsh
index 8c5edfd..066fa42 100644
--- a/Contrib/UltraModernUI/Skins/SoftBrown.nsh
+++ b/Contrib/UltraModernUI/Skins/SoftBrown.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR ab663d
+!define /IfNDef MUI_TEXTCOLOR ab663d
!define /IfNDef MUI_BGCOLOR F9F1E8
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FF0000
!define /IfNDef UMUI_HEADERTEXT_COLOR 825133
diff --git a/Contrib/UltraModernUI/Skins/SoftGray.nsh b/Contrib/UltraModernUI/Skins/SoftGray.nsh
index d58bd87..2bb1b7c 100644
--- a/Contrib/UltraModernUI/Skins/SoftGray.nsh
+++ b/Contrib/UltraModernUI/Skins/SoftGray.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR 3d66ab
+!define /IfNDef MUI_TEXTCOLOR 3d66ab
!define /IfNDef MUI_BGCOLOR F9F9F9
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 0000FF
!define /IfNDef UMUI_HEADERTEXT_COLOR 335182
diff --git a/Contrib/UltraModernUI/Skins/SoftGreen.nsh b/Contrib/UltraModernUI/Skins/SoftGreen.nsh
index 779e4f6..aa68bdc 100644
--- a/Contrib/UltraModernUI/Skins/SoftGreen.nsh
+++ b/Contrib/UltraModernUI/Skins/SoftGreen.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR 3dab66
+!define /IfNDef MUI_TEXTCOLOR 3dab66
!define /IfNDef MUI_BGCOLOR E8F9F1
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 008000
!define /IfNDef UMUI_HEADERTEXT_COLOR 338251
diff --git a/Contrib/UltraModernUI/Skins/SoftPurple.nsh b/Contrib/UltraModernUI/Skins/SoftPurple.nsh
index 102b95d..677ae61 100644
--- a/Contrib/UltraModernUI/Skins/SoftPurple.nsh
+++ b/Contrib/UltraModernUI/Skins/SoftPurple.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR 663dab
+!define /IfNDef MUI_TEXTCOLOR 663dab
!define /IfNDef MUI_BGCOLOR F1E8F9
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 0000FF
!define /IfNDef UMUI_HEADERTEXT_COLOR 513382
diff --git a/Contrib/UltraModernUI/Skins/SoftRed.nsh b/Contrib/UltraModernUI/Skins/SoftRed.nsh
index 4eb86e8..d327302 100644
--- a/Contrib/UltraModernUI/Skins/SoftRed.nsh
+++ b/Contrib/UltraModernUI/Skins/SoftRed.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR ab3d66
+!define /IfNDef MUI_TEXTCOLOR ab3d66
!define /IfNDef MUI_BGCOLOR F9E8F1
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FF0000
!define /IfNDef UMUI_HEADERTEXT_COLOR 823351
diff --git a/Contrib/UltraModernUI/Skins/blue.nsh b/Contrib/UltraModernUI/Skins/blue.nsh
index 920cf9c..928027d 100644
--- a/Contrib/UltraModernUI/Skins/blue.nsh
+++ b/Contrib/UltraModernUI/Skins/blue.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 4C72B2
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/blue2.nsh b/Contrib/UltraModernUI/Skins/blue2.nsh
index 252e43c..3afb207 100644
--- a/Contrib/UltraModernUI/Skins/blue2.nsh
+++ b/Contrib/UltraModernUI/Skins/blue2.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 4C72B2
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/brown.nsh b/Contrib/UltraModernUI/Skins/brown.nsh
index d4c1e77..84e7c9c 100644
--- a/Contrib/UltraModernUI/Skins/brown.nsh
+++ b/Contrib/UltraModernUI/Skins/brown.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR B2724C
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 00FFFF
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/brown2.nsh b/Contrib/UltraModernUI/Skins/brown2.nsh
index b76ea6b..ff07fcf 100644
--- a/Contrib/UltraModernUI/Skins/brown2.nsh
+++ b/Contrib/UltraModernUI/Skins/brown2.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR B2724C
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 00FFFF
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/darkgreen.nsh b/Contrib/UltraModernUI/Skins/darkgreen.nsh
index f060401..06291bc 100644
--- a/Contrib/UltraModernUI/Skins/darkgreen.nsh
+++ b/Contrib/UltraModernUI/Skins/darkgreen.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 36744D
!define /IfNDef UMUI_TEXT_LIGHTCOLOR b5d300
!define /IfNDef UMUI_BRANDINGTEXTFRONTCOLOR 8ba48c
diff --git a/Contrib/UltraModernUI/Skins/darkgreen2.nsh b/Contrib/UltraModernUI/Skins/darkgreen2.nsh
index 802448a..0502043 100644
--- a/Contrib/UltraModernUI/Skins/darkgreen2.nsh
+++ b/Contrib/UltraModernUI/Skins/darkgreen2.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 36744D
!define /IfNDef UMUI_TEXT_LIGHTCOLOR b5d300
!define /IfNDef UMUI_BRANDINGTEXTFRONTCOLOR 8ba48c
diff --git a/Contrib/UltraModernUI/Skins/gray.nsh b/Contrib/UltraModernUI/Skins/gray.nsh
index baf1b62..2932841 100644
--- a/Contrib/UltraModernUI/Skins/gray.nsh
+++ b/Contrib/UltraModernUI/Skins/gray.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 6D6D6D
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/gray2.nsh b/Contrib/UltraModernUI/Skins/gray2.nsh
index befa0f9..39eb170 100644
--- a/Contrib/UltraModernUI/Skins/gray2.nsh
+++ b/Contrib/UltraModernUI/Skins/gray2.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 6D6D6D
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/green.nsh b/Contrib/UltraModernUI/Skins/green.nsh
index c2f4921..2e70d9d 100644
--- a/Contrib/UltraModernUI/Skins/green.nsh
+++ b/Contrib/UltraModernUI/Skins/green.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 4CB272
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FF00FF
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/green2.nsh b/Contrib/UltraModernUI/Skins/green2.nsh
index c558c35..19242f8 100644
--- a/Contrib/UltraModernUI/Skins/green2.nsh
+++ b/Contrib/UltraModernUI/Skins/green2.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 4CB272
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FF00FF
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/purple.nsh b/Contrib/UltraModernUI/Skins/purple.nsh
index a449c9c..af4f669 100644
--- a/Contrib/UltraModernUI/Skins/purple.nsh
+++ b/Contrib/UltraModernUI/Skins/purple.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 724CB2
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/purple2.nsh b/Contrib/UltraModernUI/Skins/purple2.nsh
index 975518c..c55555a 100644
--- a/Contrib/UltraModernUI/Skins/purple2.nsh
+++ b/Contrib/UltraModernUI/Skins/purple2.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 724CB2
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/red.nsh b/Contrib/UltraModernUI/Skins/red.nsh
index 472b9f3..b3f723a 100644
--- a/Contrib/UltraModernUI/Skins/red.nsh
+++ b/Contrib/UltraModernUI/Skins/red.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR B24C72
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 00FFFF
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/Skins/red2.nsh b/Contrib/UltraModernUI/Skins/red2.nsh
index 690cfbe..80730e0 100644
--- a/Contrib/UltraModernUI/Skins/red2.nsh
+++ b/Contrib/UltraModernUI/Skins/red2.nsh
@@ -1,4 +1,4 @@
-!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR B24C72
!define /IfNDef UMUI_TEXT_LIGHTCOLOR 00FFFF
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
diff --git a/Contrib/UltraModernUI/UMUI.nsh b/Contrib/UltraModernUI/UMUI.nsh
index e2a1e81..2e648ff 100644
--- a/Contrib/UltraModernUI/UMUI.nsh
+++ b/Contrib/UltraModernUI/UMUI.nsh
@@ -1,33 +1,34 @@
/*
-NSIS UltraModern User Interface version 2.0 beta 4
-Copyright 2005-2018 SuperPat
+NSIS Ultra-Modern User Interface version 2.0 beta 5
+Copyright 2005-2019 SuperPat
Based on:
- NSIS Modern User Interface version 1.8 (Git version: d20b99c082a99304a542c2fa6cf4abd381ca263a)
- Copyright 2002-2018 Joost Verburg
+ NSIS Modern User Interface version 1.81 (Git version: 6b4148e215433dddd1a954291364ef52e44d12e5)
+ Copyright 2002-2019 Joost Verburg
*/
!ifndef MUI_INCLUDED
-!echo "NSIS Ultra-Modern User Interface version 2.0 beta 4 - Copyright 2005-2018 SuperPat"
+!verbose push 3
+!define MUI_INCLUDED
+!define UMUI_SYSVERSION "2.0 beta 5"
+!define MUI_SYSVERSION "1.81"
+!verbose pop
+!echo "NSIS Ultra-Modern User Interface version 2.0 beta 5 - Copyright 2005-2019 SuperPat"
!echo " (Bugfixes and some additions: 2015-2016 - Bodenseematze)"
-!echo "Based on: NSIS Modern User Interface version 1.8 - Copyright 2002-2018 Joost Verburg"
+!echo "Based on: NSIS Modern User Interface version 1.81 - Copyright 2002-2019 Joost Verburg"
;--------------------------------
!verbose push 3
!define /IfNDef MUI_VERBOSE 3
!verbose ${MUI_VERBOSE}
-!define MUI_INCLUDED
-
-!define UMUI_SYSVERSION "2.0 beta 4"
-!define MUI_SYSVERSION "1.8"
-
;--------------------------------
;HEADER FILES, DECLARATIONS
!include WinMessages.nsh
+!include LogicLib.nsh
!define UMUI_HIDEFIRSTBACKBUTTON ;don't show the "Back" button on the first shown page,
;even if it is not the first page defined
@@ -180,15 +181,18 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!define UMUI_LANGUAGE_REGISTRY_VALUENAME "${MUI_LANGDLL_REGISTRY_VALUENAME}"
!endif
- !ifndef UMUI_TEXT_COLOR
- !ifdef MUI_TEXT_COLOR
- !warning "Deprecated: The MUI_TEXT_COLOR define was renamed in UMUI_TEXT_COLOR since UltraModernUI 1.00 beta 2"
- !define UMUI_TEXT_COLOR "${MUI_TEXT_COLOR}"
+ !ifndef MUI_TEXTCOLOR
+ !ifdef UMUI_TEXT_COLOR
+ !warning "Deprecated: The UMUI_TEXT_COLOR define was renamed in MUI_TEXTCOLOR since Ultra-Modern UI 2.0 beta 5"
+ !define MUI_TEXTCOLOR "${UMUI_TEXT_COLOR}"
+ !else ifdef MUI_TEXT_COLOR
+ !warning "Deprecated: The MUI_TEXT_COLOR define was renamed in MUI_TEXTCOLOR since Ultra-Modern UI 1.00 beta 2"
+ !define MUI_TEXTCOLOR "${MUI_TEXT_COLOR}"
!endif
!endif
!ifdef UMUI_UI_COMPONENTSPAGE_SMALLDESC | UMUI_UI_COMPONENTSPAGE_NODESC
- !warning "Deprecated: The UMUI_UI_COMPONENTSPAGE_SMALLDESC and UMUI_UI_COMPONENTSPAGE_NODESC define were renamed in MUI_UI_COMPONENTSPAGE_SMALLDESC and MUI_UI_COMPONENTSPAGE_NODESC since UltraModernUI 1.00 beta 2"
+ !warning "Deprecated: The UMUI_UI_COMPONENTSPAGE_SMALLDESC and UMUI_UI_COMPONENTSPAGE_NODESC define were renamed in MUI_UI_COMPONENTSPAGE_SMALLDESC and MUI_UI_COMPONENTSPAGE_NODESC since Ultra-Modern UI 1.00 beta 2"
!ifdef UMUI_UI_COMPONENTSPAGE_SMALLDESC
!define /IfNDef MUI_UI_COMPONENTSPAGE_SMALLDESC "${UMUI_UI_COMPONENTSPAGE_SMALLDESC}"
!endif
@@ -217,7 +221,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!endif
!ifdef UMUI_HEADERIMAGE_BMP | UMUI_UNHEADERIMAGE_BMP
- !warning "Deprecated: The UMUI_HEADERIMAGE_BMP and UMUI_UNHEADERIMAGE_BMP defines were renamed by UMUI_HEADERBGIMAGE_BMP and UMUI_UNHEADERBGIMAGE_BMP since UltraModernUI 1.00 beta 2."
+ !warning "Deprecated: The UMUI_HEADERIMAGE_BMP and UMUI_UNHEADERIMAGE_BMP defines were renamed by UMUI_HEADERBGIMAGE_BMP and UMUI_UNHEADERBGIMAGE_BMP since Ultra-Modern UI 1.00 beta 2."
!ifdef UMUI_HEADERIMAGE_BMP
!define /IfNDef UMUI_HEADERBGIMAGE_BMP "${UMUI_HEADERIMAGE_BMP}"
!endif
@@ -263,13 +267,13 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!define /IfNDef MUI_ICON "${NSISDIR}\Contrib\Graphics\UltraModernUI\Icon.ico"
!define /IfNDef MUI_UNICON "${NSISDIR}\Contrib\Graphics\UltraModernUI\UnIcon.ico"
- !define /IfNDef UMUI_TEXT_COLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 4C72B2
+ !define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
- !define /IfNDef UMUI_HEADERTEXT_COLOR "${UMUI_TEXT_COLOR}"
+ !define /IfNDef UMUI_HEADERTEXT_COLOR "${MUI_TEXTCOLOR}"
- !define /IfNDef MUI_LICENSEPAGE_BGCOLOR FFFFFF
- !define /IfNDef MUI_INSTFILESPAGE_COLORS "${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}"
+ !define /IfNDef MUI_LICENSEPAGE_BGCOLOR "/windows"
+ !define /IfNDef MUI_INSTFILESPAGE_COLORS "${MUI_TEXTCOLOR} ${MUI_BGCOLOR}"
!define /IfNDef MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
!define /IfNDef UMUI_LEFTIMAGE_BMP "${NSISDIR}\Contrib\UltraModernUI\Skins\blue\Left.bmp"
@@ -340,7 +344,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
;-------
!ifdef UMUI_SKIN
- !warning "The UMUI_SKIN define is not used in ModernUIEx. Define ignored."
+ !warning "The UMUI_SKIN define is not used in Modern UIEx. Define ignored."
!undef UMUI_SKIN
!endif
!insertmacro MUI_UNSET UMUI_PAGEBGIMAGE
@@ -371,10 +375,10 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!define /IfNDef MUI_INSTFILESPAGE_COLORS "/windows"
!define /IfNDef MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
- !define /IfNDef UMUI_TEXT_COLOR "000000"
!define /IfNDef MUI_BGCOLOR "FFFFFF"
+ !define /IfNDef MUI_TEXTCOLOR "000000"
!define /IfNDef UMUI_TEXT_LIGHTCOLOR "000000"
- !define /IfNDef UMUI_HEADERTEXT_COLOR "${UMUI_TEXT_COLOR}"
+ !define /IfNDef UMUI_HEADERTEXT_COLOR "${MUI_TEXTCOLOR}"
!define /IfNDef UMUI_HEADERBGIMAGE_BMP "${NSISDIR}\Contrib\Graphics\UltraModernUI\HeaderBG.bmp"
!define /IfNDef UMUI_UNHEADERBGIMAGE_BMP "${UMUI_HEADERBGIMAGE_BMP}"
@@ -559,7 +563,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifndef USE_MUIEx
;----------------
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
- SetCtlColors $MUI_TEMP1 ${MUI_BGCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${MUI_BGCOLOR}" "${MUI_BGCOLOR}"
!endif
;-----
!macroend
@@ -572,7 +576,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifdef UMUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGEBGIMAGE
SetCtlColors $MUI_TEMP1 "transparent" "transparent"
!else
- SetCtlColors $MUI_TEMP1 ${MUI_BGCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${MUI_BGCOLOR}" "${MUI_BGCOLOR}"
!endif
!endif
;-----
@@ -584,7 +588,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
;-----------------
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${ID}
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
;-----
!macroend
@@ -596,9 +600,9 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${ID}
!ifdef UMUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGEBGIMAGE
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} "transparent"
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "transparent"
!else
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
!endif
;-----
@@ -610,7 +614,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
;-----------------
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${ID}
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_LIGHTCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${UMUI_TEXT_LIGHTCOLOR}" "${MUI_BGCOLOR}"
!endif
;-----
!macroend
@@ -622,9 +626,9 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${ID}
!ifdef UMUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGEBGIMAGE
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_LIGHTCOLOR} "transparent"
+ SetCtlColors $MUI_TEMP1 "${UMUI_TEXT_LIGHTCOLOR}" "transparent"
!else
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_LIGHTCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${UMUI_TEXT_LIGHTCOLOR}" "${MUI_BGCOLOR}"
!endif
!endif
;-----
@@ -634,7 +638,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!macro UMUI_PAGEINPUTCTL_INIT ID
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${ID}
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_INPUTCOLOR} ${UMUI_BGINPUTCOLOR}
+ SetCtlColors $MUI_TEMP1 "${UMUI_TEXT_INPUTCOLOR}" "${UMUI_BGINPUTCOLOR}"
!macroend
; Change the background on the Welcome/Finish/Abort Pages
@@ -645,14 +649,14 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifndef UMUI_NO_WFA_BGTRANSPARENT
SetCtlColors ${HWND} "" "transparent"
!else
- SetCtlColors ${HWND} "" ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
!else
- SetCtlColors ${HWND} "" ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
!else
;-----
- SetCtlColors ${HWND} "" ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
;-----
!macroend
@@ -665,10 +669,10 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifndef UMUI_IONOBGTRANSPARENT
SetCtlColors ${HWND} "" "transparent"
!else
- SetCtlColors ${HWND} "" ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
!else
- SetCtlColors ${HWND} "" ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
!endif
;-----
@@ -679,7 +683,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!macro UMUI_IOPAGEBG_INIT HWND
!ifndef USE_MUIEx
;----------------
- SetCtlColors ${HWND} "" ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
;-----
!macroend
@@ -689,30 +693,30 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifndef USE_MUIEx
;-----------------
!ifdef UMUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGEBGIMAGE
- SetCtlColors ${HWND} ${UMUI_TEXT_COLOR} "transparent"
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "transparent"
!else
- SetCtlColors ${HWND} ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
!else
;-----
- SetCtlColors ${HWND} ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
;-----
!macroend
; Change the background color of the IO Controls
!macro UMUI_IOPAGECTL_INIT HWND
- SetCtlColors ${HWND} ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!macroend
; Set the background and text colors of the IO Input Controls
!macro UMUI_IOPAGEINPUTCTL_INIT HWND
- SetCtlColors ${HWND} ${UMUI_TEXT_INPUTCOLOR} ${UMUI_BGINPUTCOLOR}
+ SetCtlColors ${HWND} "${UMUI_TEXT_INPUTCOLOR}" "${UMUI_BGINPUTCOLOR}"
!macroend
; Set the background color and the light text color of the IO Controls
!macro UMUI_IOPAGECTLLIGHT_INIT HWND
- SetCtlColors ${HWND} ${UMUI_TEXT_LIGHTCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${UMUI_TEXT_LIGHTCOLOR}" "${MUI_BGCOLOR}"
!macroend
; Set transparent the background and the light text color of the IO Controls
@@ -720,13 +724,13 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifndef USE_MUIEx
;-----------------
!ifdef UMUI_${MUI_PAGE_UNINSTALLER_PREFIX}PAGEBGIMAGE
- SetCtlColors ${HWND} ${UMUI_TEXT_LIGHTCOLOR} "transparent"
+ SetCtlColors ${HWND} "${UMUI_TEXT_LIGHTCOLOR}" "transparent"
!else
- SetCtlColors ${HWND} ${UMUI_TEXT_LIGHTCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${UMUI_TEXT_LIGHTCOLOR}" "${MUI_BGCOLOR}"
!endif
!else
;-----
- SetCtlColors ${HWND} ${UMUI_TEXT_LIGHTCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors ${HWND} "${UMUI_TEXT_LIGHTCOLOR}" "${MUI_BGCOLOR}"
!endif
;-----
!macroend
@@ -1042,10 +1046,10 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
CreateFont $MUI_TEMP2 "$(^Font)" "$(^FontSize)" "700"
SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
- SetCtlColors $MUI_TEMP1 ${UMUI_HEADERTEXT_COLOR} "transparent"
+ SetCtlColors $MUI_TEMP1 "${UMUI_HEADERTEXT_COLOR}" "transparent"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
- SetCtlColors $MUI_TEMP1 ${UMUI_HEADERTEXT_COLOR} "transparent"
+ SetCtlColors $MUI_TEMP1 "${UMUI_HEADERTEXT_COLOR}" "transparent"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
CreateFont $MUI_TEMP2 Arial 10 1400
@@ -1059,7 +1063,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
SendMessage $MUI_TEMP1 ${WM_SETFONT} "$MUI_TEMP2" 0
SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:$(^Branding) "
- SetCtlColors $HWNDPARENT ${MUI_BGCOLOR} ${MUI_BGCOLOR}
+ SetCtlColors $HWNDPARENT "${MUI_BGCOLOR}" "${MUI_BGCOLOR}"
!ifndef UMUI_${UNPREFIX}UNIQUEBGIMAGE
@@ -1078,7 +1082,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
SetBrandingImage /IMGID=1034 /RESIZETOFIT "$PLUGINSDIR\Header.bmp"
!else
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} "${MUI_BGCOLOR}"
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
!ifdef UMUI_${UNPREFIX}BOTTOMIMAGE_BMP
@@ -1121,10 +1125,10 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!endif
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1018
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
ShowWindow $MUI_TEMP1 ${SW_HIDE}
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!else
;-----------------
@@ -1135,17 +1139,17 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifndef MUI_HEADER_TRANSPARENT_TEXT
- SetCtlColors $MUI_TEMP1 ${UMUI_HEADERTEXT_COLOR} "${MUI_BGCOLOR}"
+ SetCtlColors $MUI_TEMP1 "${UMUI_HEADERTEXT_COLOR}" "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
- SetCtlColors $MUI_TEMP1 ${UMUI_HEADERTEXT_COLOR} "${MUI_BGCOLOR}"
+ SetCtlColors $MUI_TEMP1 "${UMUI_HEADERTEXT_COLOR}" "${MUI_BGCOLOR}"
!else
- SetCtlColors $MUI_TEMP1 ${UMUI_HEADERTEXT_COLOR} "transparent"
+ SetCtlColors $MUI_TEMP1 "${UMUI_HEADERTEXT_COLOR}" "transparent"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
- SetCtlColors $MUI_TEMP1 ${UMUI_HEADERTEXT_COLOR} "transparent"
+ SetCtlColors $MUI_TEMP1 "${UMUI_HEADERTEXT_COLOR}" "transparent"
!endif
@@ -1158,14 +1162,14 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!else
- GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} "${MUI_BGCOLOR}"
+ GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034 ; Header background
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
!endif
- GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
- SetCtlColors $MUI_TEMP1 ${UMUI_TEXT_COLOR} "${MUI_BGCOLOR}"
+ GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039 ; Header image
+ SetCtlColors $MUI_TEMP1 "${MUI_TEXTCOLOR}" "${MUI_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
SetCtlColors $MUI_TEMP1 /BRANDING
@@ -1689,6 +1693,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!endif
!endif
+ ClearErrors
ReadRegStr $MUI_TEMP2 ${UMUI_SHELLVARCONTEXT_REGISTRY_ROOT} "${UMUI_SHELLVARCONTEXT_REGISTRY_KEY}" "${UMUI_SHELLVARCONTEXT_REGISTRY_VALUENAME}"
IfErrors +2 0
StrCpy $MUI_TEMP1 $MUI_TEMP2
@@ -1745,6 +1750,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!endif
Push $R0
+ ClearErrors
ReadRegStr $R0 ${UMUI_INSTALLDIR_REGISTRY_ROOT} "${UMUI_INSTALLDIR_REGISTRY_KEY}" "${UMUI_INSTALLDIR_REGISTRY_VALUENAME}"
IfErrors +2 0
StrCpy $INSTDIR $R0
@@ -2279,6 +2285,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!macro UMUI_MAINTENANCE_PARAMETERS_GET
+ ClearErrors
!insertmacro UMUI_PARAMETERISSET "/remove"
Pop $MUI_TEMP1
IfErrors noremove 0
@@ -2534,7 +2541,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!macro UMUI_PAGE_LEFTMESSAGEBOX A B C
- !warning "The UMUI_PAGE_LEFTMESSAGEBOX and UMUI_UNPAGE_LEFTMESSAGEBOX macros were removed since UltraModernUI 1.00 beta 2."
+ !warning "The UMUI_PAGE_LEFTMESSAGEBOX and UMUI_UNPAGE_LEFTMESSAGEBOX macros were removed since Ultra-Modern UI 1.00 beta 2."
!insertmacro MUI_UNSET UMUI_LEFTMESSAGEBOX_VAR
!insertmacro MUI_UNSET UMUI_LEFTMESSAGEBOX_LEFTFUNC
@@ -2542,13 +2549,13 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!macro UMUI_LEFT_TEXTE A B
- !warning "The UMUI_LEFT_TEXTE macro was removed since UltraModernUI 1.00 beta 2."
+ !warning "The UMUI_LEFT_TEXTE macro was removed since Ultra-Modern UI 1.00 beta 2."
!macroend
!macro UMUI_LEFT_SETTIME A
- !warning "The UMUI_LEFT_SETTIME macro was removed since UltraModernUI 1.00 beta 2."
+ !warning "The UMUI_LEFT_SETTIME macro was removed since Ultra-Modern UI 1.00 beta 2."
!macroend
@@ -4010,9 +4017,10 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!insertmacro UMUI_PAGECTLLIGHT_INIT 1020
!ifdef MUI_DIRECTORYPAGE_BGCOLOR
+ !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXTCOLOR ""
FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1019
- SetCtlColors $MUI_TEMP1 "" "${MUI_DIRECTORYPAGE_BGCOLOR}"
+ SetCtlColors $MUI_TEMP1 "${MUI_DIRECTORYPAGE_TEXTCOLOR}" "${MUI_DIRECTORYPAGE_BGCOLOR}"
!else
!insertmacro UMUI_PAGEINPUTCTL_INIT 1019
!endif
@@ -4085,10 +4093,11 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
;-----
!ifdef MUI_STARTMENUPAGE_BGCOLOR
+ !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXTCOLOR ""
GetDlgItem $MUI_TEMP1 $MUI_HWND 1002
- SetCtlColors $MUI_TEMP1 "" "${MUI_STARTMENUPAGE_BGCOLOR}"
+ SetCtlColors $MUI_TEMP1 "${MUI_STARTMENUPAGE_TEXTCOLOR}" "${MUI_STARTMENUPAGE_BGCOLOR}"
GetDlgItem $MUI_TEMP1 $MUI_HWND 1004
- SetCtlColors $MUI_TEMP1 "" "${MUI_STARTMENUPAGE_BGCOLOR}"
+ SetCtlColors $MUI_TEMP1 "${MUI_STARTMENUPAGE_TEXTCOLOR}" "${MUI_STARTMENUPAGE_BGCOLOR}"
!else
GetDlgItem $MUI_TEMP1 $MUI_HWND 1002
!insertmacro UMUI_IOPAGEINPUTCTL_INIT $MUI_TEMP1
@@ -4232,10 +4241,10 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!ifndef MUI_UNINSTALLER
!ifdef UMUI_PREUNINSTALL_FUNCTION
- !ifndef UMUI_${MUI_PAGE_UNINSTALLER_PREFIX}SECTION_PREUNINSTALL
- !define UMUI_${MUI_PAGE_UNINSTALLER_PREFIX}SECTION_PREUNINSTALL
+ !ifndef UMUI_SECTION_PREUNINSTALL
+ !define UMUI_SECTION_PREUNINSTALL
- Section "${MUI_PAGE_UNINSTALLER_FUNCPREFIX}"
+ Section ""
ClearErrors
IfFileExists $INSTDIR 0 end
@@ -4721,6 +4730,29 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
mui.finish_show:
!endif
+ !if "${UMUI_XPSTYLE}" == "On"
+ !ifndef MUI_FORCECLASSICCONTROLS
+ ${If} ${IsHighContrastModeActive}
+ !endif
+ ; SetCtlColors does not change the check/radio text color (bug #443)
+ !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
+ GetDlgItem $MUI_TEMP1 $MUI_HWND ${UMUI_INTERNAL_FIDTHIRD}
+ System::Call 'UXTHEME::SetWindowTheme(p$MUI_TEMP1,w" ",w" ")'
+ GetDlgItem $MUI_TEMP1 $MUI_HWND ${UMUI_INTERNAL_FIDFOURTH}
+ System::Call 'UXTHEME::SetWindowTheme(p$MUI_TEMP1,w" ",w" ")'
+ !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
+ GetDlgItem $MUI_TEMP1 $MUI_HWND ${UMUI_INTERNAL_FIDTHIRD}
+ System::Call 'UXTHEME::SetWindowTheme(p$MUI_TEMP1,w" ",w" ")'
+ !ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
+ GetDlgItem $MUI_TEMP1 $MUI_HWND ${UMUI_INTERNAL_FIDFOURTH}
+ System::Call 'UXTHEME::SetWindowTheme(p$MUI_TEMP1,w" ",w" ")'
+ !endif
+ !endif
+ !ifndef MUI_FORCECLASSICCONTROLS
+ ${EndIf}
+ !endif
+ !endif
+
GetDlgItem $MUI_TEMP1 $HWNDPARENT 3
ShowWindow $MUI_TEMP1 ${SW_HIDE}
GetDlgItem $MUI_TEMP1 $HWNDPARENT 2
@@ -5000,8 +5032,9 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
StrCpy $UMUI_TEMP3 $LANGUAGE
StrCmp $UMUI_LANGLIST "" 0 +2
- MessageBox MB_OK|MB_ICONSTOP "UltraModernUI error: You have forgotten to insert the UMUI_MULTILANG_GET macro in your ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}.oninit function."
+ MessageBox MB_OK|MB_ICONSTOP "Ultra-Modern UI error: You have forgotten to insert the UMUI_MULTILANG_GET macro in your ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}.oninit function."
+ ClearErrors
; Get the current language id
nsArray::Get LangMap $LANGUAGE
Pop $MUI_TEMP1
@@ -6193,11 +6226,12 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
IntOp $UMUI_TEMP4 $UMUI_TEMP4 + 12
!insertmacro INSTALLOPTIONS_WRITE "$MUI_TEMP1" "Field $UMUI_TEMP3" Bottom "$UMUI_TEMP4"
+ !insertmacro INSTALLOPTIONS_READ $MUI_TEMP2 "$MUI_TEMP1" "Field $UMUI_TEMP3" State
+ !insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "Task ${ID}" State "$MUI_TEMP2"
+
!insertmacro INSTALLOPTIONS_READ $MUI_TEMP2 "AdditionalTasksList.ini" "Settings" NumTasks
StrCmp $MUI_TEMP2 "" 0 +2
StrCpy $MUI_TEMP2 0
-
- !insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "Task ${ID}" State ""
!insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "$MUI_TEMP2" TaskID "${ID}"
IntOp $MUI_TEMP2 $MUI_TEMP2 + 1
!insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "Settings" NumTasks "$MUI_TEMP2"
@@ -6242,11 +6276,12 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!undef UMUI_NEWGROUP
!endif
+ !insertmacro INSTALLOPTIONS_READ $MUI_TEMP2 "$MUI_TEMP1" "Field $UMUI_TEMP3" State
+ !insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "Task ${ID}" State "$MUI_TEMP2"
+
!insertmacro INSTALLOPTIONS_READ $MUI_TEMP2 "AdditionalTasksList.ini" "Settings" NumTasks
StrCmp $MUI_TEMP2 "" 0 +2
StrCpy $MUI_TEMP2 0
-
- !insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "Task ${ID}" State ""
!insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "$MUI_TEMP2" TaskID "${ID}"
IntOp $MUI_TEMP2 $MUI_TEMP2 + 1
!insertmacro INSTALLOPTIONS_WRITE "AdditionalTasksList.ini" "Settings" NumTasks "$MUI_TEMP2"
@@ -6528,6 +6563,7 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
; $3 : back/next field number
; $4 : HWND of the back/next field
+ ClearErrors
!insertmacro INSTALLOPTIONS_READ $MUI_TEMP1 "SerialNumber_${SERIAL_FUNC}.ini" "Settings" State
StrCmp $MUI_TEMP1 "0" ok 0
@@ -6595,20 +6631,20 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!macro UMUI_SERIALNUMBERPAGE_GET_WINDOWS_REGISTRED_OWNER VAR
+ ClearErrors
; Windows NT
ReadRegStr $${VAR} HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "RegisteredOwner"
- IfErrors 0 +3
- ClearErrors
+ IfErrors 0 +2
; Windows 9x
ReadRegStr $${VAR} HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" "RegisteredOwner"
ClearErrors
!macroend
!macro UMUI_SERIALNUMBERPAGE_GET_WINDOWS_REGISTRED_ORGANIZATION VAR
+ ClearErrors
; Windows NT
ReadRegStr $${VAR} HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "RegisteredOrganization"
- IfErrors 0 +3
- ClearErrors
+ IfErrors 0 +2
; Windows 9x
ReadRegStr $${VAR} HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion" "RegisteredOrganization"
ClearErrors
@@ -6693,7 +6729,6 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
!insertmacro INSTALLOPTIONS_READ $9 "${FILE}" "Field $9" NextField
IfErrors 0 loopSerialApplyFlags
- ClearErrors
Goto loopApplyFlags
endApplyFlags:
@@ -9522,7 +9557,9 @@ Var UMUI_INSTALLFLAG ; Contains a OR of all the flags define here
; MUI_PAGE_UNINSTALLER_PREFIX is undefined by uninstaller pages so we check MUI_UNINSTALLER as well
!ifndef MUI_PAGE_UNINSTALLER_PREFIX && MUI_UNINSTALLER
- !warning "MUI_LANGUAGE should be inserted after the [U]MUI_[UN]PAGE_* macros"
+ !ifndef MUI_DISABLE_INSERT_LANGUAGE_AFTER_PAGES_WARNING ; Define this to avoid the warning if you only have custom pages
+ !warning "MUI_LANGUAGE should be inserted after the MUI_[UN]PAGE_* macros"
+ !endif
!endif
!insertmacro MUI_INSERT
diff --git a/CreateZipUMUI.bat b/CreateZipUMUI.bat
index 933e8e3..7e6ba7a 100644
--- a/CreateZipUMUI.bat
+++ b/CreateZipUMUI.bat
@@ -1,10 +1,11 @@
@echo off
@echo Creating UltraModernUI zip archive
- del /Q UltraModernUI_2.0b4.zip
+ del /Q UltraModernUI_2.0b5.zip
rmdir /S /Q temp
mkdir temp
+ copy NSISUMUI.exe temp
mkdir "temp\Contrib\UltraModernUI\"
copy Contrib\UltraModernUI\UMUI.nsh temp\Contrib\UltraModernUI
@@ -113,7 +114,7 @@ rem mkdir "temp\Include\"
copy Contrib\nsArray\*.* temp\Contrib\nsArray
cd temp
- "C:\Program Files\7-Zip\7z.exe" a -tzip -mx9 ..\UltraModernUI_2.0b4.zip *
+ "C:\Program Files\7-Zip\7z.exe" a -tzip -mx9 ..\UltraModernUI_2.0b5.zip *
cd ..
rmdir /S /Q temp
diff --git a/Docs/InstallOptionsEx/License.txt b/Docs/InstallOptionsEx/License.txt
index a3cb22f..8dbd95b 100644
--- a/Docs/InstallOptionsEx/License.txt
+++ b/Docs/InstallOptionsEx/License.txt
@@ -1,8 +1,8 @@
-Original IO version Copyright � 2001 Michael Bishop
-IO DLL version 1 Copyright � 2001-2002 Nullsoft, Inc., ORTIM
-IO DLL version 2 Copyright � 2003-2009 Amir Szekely, Joost Verburg, Dave Laundon
-IOEx DLL (changed from original IO 2) Copyright � 2004-2005 Diego Pedroso
-IOEx DLL (starting at v.2.4.5) Copyright � 2006-2018 SuperPat
+Original IO version Copyright © 2001 Michael Bishop
+IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM
+IO DLL version 2 Copyright © 2003-2009 Amir Szekely, Joost Verburg, Dave Laundon
+IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso
+IOEx DLL (starting at v.2.4.5) Copyright © 2006-2019 SuperPat
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff --git a/Docs/InstallOptionsEx/Readme.html b/Docs/InstallOptionsEx/Readme.html
index 070d05e..0df402d 100644
--- a/Docs/InstallOptionsEx/Readme.html
+++ b/Docs/InstallOptionsEx/Readme.html
@@ -5669,7 +5669,7 @@
2.4.5 beta 3
IO DLL version 1 Copyright © 2001-2002 Nullsoft, Inc., ORTIM
IO DLL version 2 Copyright © 2003-2009 Amir Szekely, Joost Verburg, Dave Laundon
IOEx DLL (changed from original IO 2) Copyright © 2004-2005 Diego Pedroso
-IOEx DLL (starting at v.2.4.5) Copyright © 2006-2018 SuperPat
+IOEx DLL (starting at v.2.4.5) Copyright © 2006-2019 SuperPat
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
diff --git a/Docs/SkinnedControls/Readme.html b/Docs/SkinnedControls/Readme.html
index 6b69b5d..23ceb64 100644
--- a/Docs/SkinnedControls/Readme.html
+++ b/Docs/SkinnedControls/Readme.html
@@ -366,11 +366,11 @@ License
License Terms
-
Copyright © 2005-2018 SuperPat
+
Copyright © 2005-2019 SuperPat
Based on wansis, a Plug-in written by Saivert that skins NSIS like Winamp
and use the wa_dlg.h courtesy of Nullsoft, Inc.
-as well as the Cool Scrollbar Library Copyright (c) J Brown 2001.
+as well as the Cool Scrollbar Library Copyright © J Brown 2001.
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -394,7 +394,7 @@
-
+
diff --git a/Docs/SkinnedControls/license.txt b/Docs/SkinnedControls/license.txt
index d323c80..ebef2d0 100644
--- a/Docs/SkinnedControls/license.txt
+++ b/Docs/SkinnedControls/license.txt
@@ -1,8 +1,8 @@
-Copyright � 2005-2018 SuperPat
+Copyright © 2005-2019 SuperPat
Based on wansis, a Plug-in written by Saivert that skins NSIS like Winamp
and use the wa_dlg.h courtesy of Nullsoft, Inc.
-as well as the Cool Scrollbar Library Copyright (c) J Brown 2001.
+as well as the Cool Scrollbar Library Copyright © J Brown 2001.
Skinned Controls plugin is based on the wansis plugin of Saivert (http://nsis.sourceforge.net/Wansis_plug-in) and it use the wa_dlg.h courtesy of Nullsoft, Inc.
diff --git a/Docs/UltraModernUI/License.txt b/Docs/UltraModernUI/License.txt
index f310b4a..98d544d 100644
--- a/Docs/UltraModernUI/License.txt
+++ b/Docs/UltraModernUI/License.txt
@@ -1,6 +1,6 @@
-Copyright � 2005-2018 SuperPat
+Copyright © 2005-2019 SuperPat
-UltraModernUI is based on the ModernUI of Joost Verburg and inspired of the ExperienceUI of dandaman32
+Ultra-Modern UI is based on the ModernUI of Joost Verburg and inspired of the ExperienceUI of dandaman32
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
diff --git a/Docs/UltraModernUI/ReadMe.rtf b/Docs/UltraModernUI/ReadMe.rtf
index e0a2028..5e00496 100644
--- a/Docs/UltraModernUI/ReadMe.rtf
+++ b/Docs/UltraModernUI/ReadMe.rtf
@@ -99,41 +99,41 @@ ttp://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\ma
{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}
{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\qc \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0
-\fs24\lang1036\langfe255\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1036\langfenp255 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe255\langnp1033\insrsid11944112\charrsid4531012 \hich\af0\dbch\af31505\loch\f0 UltraModernUI }{\rtlch\fcs1 \ab\af0
+\fs24\lang1036\langfe255\loch\af0\hich\af0\dbch\af31505\cgrid\langnp1036\langfenp255 {\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe255\langnp1033\insrsid11944112\charrsid4531012 \hich\af0\dbch\af31505\loch\f0 Ultra-Modern UI }{\rtlch\fcs1 \ab\af0
\ltrch\fcs0 \b\lang1033\langfe255\langnp1033\insrsid7804262 \hich\af0\dbch\af31505\loch\f0 Informations}{\rtlch\fcs1 \ab\af0 \ltrch\fcs0 \b\lang1033\langfe255\langnp1033\insrsid11944112\charrsid4531012
\par }\pard \ltrpar\qj \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid924724 {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid4531012
\par
\par }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0 The }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid6518900\charrsid924724
\hich\af0\dbch\af31505\loch\f0 Ultra-Modern}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0
User Interface is a new interface with a style like the most recent installers for NSIS }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid6168175\charrsid924724 \hich\af0\dbch\af31505\loch\f0 3}{\rtlch\fcs1 \af0\afs20
-\ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0 (Nullsoft Scriptable Install System), \hich\af0\dbch\af31505\loch\f0
-the tool that allows programmers to create such installers for Windows. UltraModernUI and NSIS are released under an open source license.
+\ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0 (Nullsoft Scriptable Install System) x86 edition, \hich\af0\dbch\af31505\loch\f0
+the tool that allows programmers to create such installers for Windows. Ultra-Modern UI and NSIS are released under an open source license.
\par
\par \hich\af0\dbch\af31505\loch\f0 The }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid6518900\charrsid924724 \hich\af0\dbch\af31505\loch\f0 Ultra-Modern}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0
\fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0 User Interface also features new pages (Confirm, Abort, AlternativeStartMenu, AdditionalTasks, Info\hich\af0\dbch\af31505\loch\f0
rmation, Maintenance, Update, SetupType, Serial Number...).
\par
-\par \hich\af0\dbch\af31505\loch\f0 UltraModernUI include also ModernUIEx. ModernUIEx is the same User Interface as the original Modern UI style but with the support of the new Ultra}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0
+\par \hich\af0\dbch\af31505\loch\f0 Ultra-Modern UI include also Modern UIEx. Modern UIEx is the same User Interface as the original Modern UI style but with the support of the new Ultra}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0
\fs20\lang1033\langfe255\langnp1033\insrsid2833028 -}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0 Modern pages.
\par
-\par \hich\af0\dbch\af31505\loch\f0 Using the UltraModernUI macros and\hich\af0\dbch\af31505\loch\f0 language files, writing scripts with a}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid13071767\charrsid924724
+\par \hich\af0\dbch\af31505\loch\f0 Using the Ultra-Modern UI macros and\hich\af0\dbch\af31505\loch\f0 language files, writing scripts with a}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid13071767\charrsid924724
\hich\af0\dbch\af31505\loch\f0 n }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid6518900\charrsid924724 \hich\af0\dbch\af31505\loch\f0 ultra-modern}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0
\fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0 interface is easy. }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid924724\charrsid924724 \hich\af0\dbch\af31505\loch\f0
A lot of examples are available}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang9\langfe255\langnp9\insrsid924724\charrsid924724 \hich\af0\dbch\af31505\loch\f0 to show the different features}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0
\fs20\lang1033\langfe255\langnp1033\insrsid924724\charrsid924724 \hich\af0\dbch\af31505\loch\f0 and the}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724 \hich\af0\dbch\af31505\loch\f0 document}{
\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid924724\charrsid924724 \hich\af0\dbch\af31505\loch\f0 ation}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid924724
-\hich\af0\dbch\af31505\loch\f0 contains all information about writing UltraModernUI scripts and a reference of all settings.
+\hich\af0\dbch\af31505\loch\f0 contains all information about writing Ultra-Modern UI scripts and a reference of all settings.
\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0\pararsid924724 {\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid8088776
\par }{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid5582561\charrsid4531012
\par }{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid4531012\charrsid4531012 \hich\af0\dbch\af31505\loch\f0 Wh\hich\af0\dbch\af31505\loch\f0 at\hich\f0 \rquote \loch\f0 s new in }{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0
-\b\fs20\lang1033\langfe255\langnp1033\insrsid4531012 \hich\af0\dbch\af31505\loch\f0 UltraModernUI}{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid4531012\charrsid4531012 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1
+\b\fs20\lang1033\langfe255\langnp1033\insrsid4531012 \hich\af0\dbch\af31505\loch\f0 Ultra-Modern UI}{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid4531012\charrsid4531012 \hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1
\ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid5376604\charrsid4531012 \hich\af0\dbch\af31505\loch\f0 version}{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid5376604
\hich\af0\dbch\af31505\loch\f0 }{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid4531012\charrsid4531012 \hich\af0\dbch\af31505\loch\f0 2.0?}{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0
\b\fs20\lang1033\langfe255\langnp1033\insrsid11944112\charrsid4531012
\par }{\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\fs20\lang1033\langfe255\langnp1033\insrsid4531012\charrsid4531012
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f2\fs20\lang1033\langfe255\langnp1033\langfenp255\insrsid12264924\charrsid12264924 \hich\af2\dbch\af31505\loch\f2 o\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid15076262 {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid12264924\charrsid12264924 \hich\af0\dbch\af31505\loch\f0
-UltraModernUI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
+Ultra-Modern UI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f2\fs20\lang1033\langfe255\langnp1033\langfenp255\insrsid12264924\charrsid12264924 \hich\af2\dbch\af31505\loch\f2 o\tab}\hich\af0\dbch\af31505\loch\f0 The NSISArray }{\rtlch\fcs1 \af0\afs20
\ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid13314899 \hich\af0\dbch\af31505\loch\f0 plug-in}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid12264924\charrsid12264924 \hich\af0\dbch\af31505\loch\f0
was replaced by the new nsArray }{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid13314899 \hich\af0\dbch\af31505\loch\f0 plug-in}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0
@@ -217,7 +217,7 @@ Reduced weight of skin images;}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang103
\fs20\lang1033\langfe255\langnp1033\insrsid6518900\charrsid12264924
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f2\fs20\lang1033\langfe255\langnp1033\langfenp255\insrsid12264924\charrsid12264924 \hich\af2\dbch\af31505\loch\f2 o\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid15076262 {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid12264924\charrsid12264924 \hich\af0\dbch\af31505\loch\f0
-The default install directory for the NSIS + UltraModernUI package is now C:\\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
+The default install directory for the NSIS + Ultra-Modern UI package is now C:\\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
\par {\listtext\pard\plain\ltrpar \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \f2\fs20\lang1033\langfe255\langnp1033\langfenp255\insrsid12264924\charrsid12264924 \hich\af2\dbch\af31505\loch\f2 o\tab}}\pard \ltrpar
\ql \fi-360\li720\ri0\nowidctlpar\wrapdefault\faauto\ls4\rin0\lin720\itap0\pararsid9052808 {\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid12264924\charrsid12264924 \hich\af0\dbch\af31505\loch\f0 A lot
\hich\af0\dbch\af31505\loch\f0 of bug fixes and optimizations}{\rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1033\langfe255\langnp1033\insrsid9052808\charrsid9052808 \hich\af0\dbch\af31505\loch\f0 ;
diff --git a/Docs/UltraModernUI/ReadMe.txt b/Docs/UltraModernUI/ReadMe.txt
index f5ca35c..e443806 100644
--- a/Docs/UltraModernUI/ReadMe.txt
+++ b/Docs/UltraModernUI/ReadMe.txt
@@ -1,21 +1,21 @@
- UltraModernUI Informations
- ==========================
+ Ultra-Modern UI Informations
+ ============================
-The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows. UltraModernUI and NSIS are released under an open source license.
+The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System) x86 edition, the tool that allows programmers to create such installers for Windows. Ultra-Modern UI and NSIS are released under an open source license.
The Ultra-Modern User Interface also features new pages (Confirm, Abort, AlternativeStartMenu, AdditionalTasks, Information, Maintenance, Update, SetupType, Serial Number...).
-UltraModernUI include also ModernUIEx. ModernUIEx is the same User Interface as the original Modern UI style but with the support of the new Ultra-Modern pages.
+Ultra-Modern UI include also Modern UIEx. Modern UIEx is the same User Interface as the original Modern UI style but with the support of the new Ultra-Modern pages.
-Using the UltraModernUI macros and language files, writing scripts with an ultra-modern interface is easy. A lot of examples are available to show the different features and the documentation contains all information about writing UltraModernUI scripts and a reference of all settings.
+Using the Ultra-Modern UI macros and language files, writing scripts with an ultra-modern interface is easy. A lot of examples are available to show the different features and the documentation contains all information about writing Ultra-Modern UI scripts and a reference of all settings.
-What's new in UltraModernUI version 2.0?
-----------------------------------------
+What's new in Ultra-Modern UI version 2.0?
+------------------------------------------
- o UltraModernUI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
+ o Ultra-Modern UI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
o The NSISArray plug-in was replaced by the new nsArray plug-in in version 1.1.1.7 who is faster and uses less memory;
o Updated the InstallOptionsEx plug-in to version 2.4.5 beta 3 with full unicode support;
o Updated the SkinnedControls plug-in to version 1.4 with support of the new NSIS plug-in API, ignore case parameters name support, unicode support, rewritten documentation and button image size are no more limited to allow smoother gradients;
@@ -36,7 +36,7 @@ What's new in UltraModernUI version 2.0?
o Reduced weight of skin images;
o Updated and completed documentation;
o Added an example for nsDialogs based custom page and documentation;
- o The default install directory for the NSIS + UltraModernUI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
+ o The default install directory for the NSIS + Ultra-Modern UI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
o A lot of bug fixes and optimizations;
o Source code now on GitHub: https://github.com/SuperPat45/UltraModernUI.
\ No newline at end of file
diff --git a/Docs/UltraModernUI/Readme.html b/Docs/UltraModernUI/Readme.html
index 04ed022..6fab79d 100644
--- a/Docs/UltraModernUI/Readme.html
+++ b/Docs/UltraModernUI/Readme.html
@@ -29,17 +29,17 @@
Introduction
-
The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows. UltraModernUI and NSIS are released under an open source license.
+
The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System) x86 edition, the tool that allows programmers to create such installers for Windows. Ultra-Modern UI and NSIS are released under an open source license.
The Ultra-Modern User Interface also features new pages (Confirm, Abort, AlternativeStartMenu, AdditionalTasks, Information, Maintenance, Update, SetupType...). The interface and the graphics can be customized using the provided settings and the new skins system.
-
UltraModernUI include also an other User Interface named ModernUIEx. ModernUIEx is the same User Interface as the original Modern UI style but with the support of the new ultra-modern pages and with a little more options.
-
Using the UltraModernUI macros and language files, writing scripts with a ultra-modern interface is easy. A lot of examples are available to show the different features and this document contains all information about writing UltraModernUI scripts and a reference of all settings.
-
The issue of UltraModernUI is to be the most compatible with the existing Modern UI scripts. Because of it is based on the Modern UI of Joost Verburg, it use the same macro a define and provide new one. The new macro and define use the prefix UMUI_ instead of MUI_.
-
Please be aware that the UltraModernUI and the Modern UI interfaces settings are different compared to the classic interface. This means that you should not use settings like LicenseText, Icon, CheckBitmap, InstallColors etc. but the ones that are documented here.
-
UltraModernUI include three NSIS plug-ins:
+
Ultra-Modern UI include also an other User Interface named Modern UIEx. Modern UIEx is the same User Interface as the original Modern UI style but with the support of the new ultra-modern pages and with a little more options.
+
Using the Ultra-Modern UI macros and language files, writing scripts with a ultra-modern interface is easy. A lot of examples are available to show the different features and this document contains all information about writing Ultra-Modern UI scripts and a reference of all settings.
+
The issue of Ultra-Modern UI is to be the most compatible with the existing Modern UI scripts. Because of it is based on the Modern UI of Joost Verburg, it use the same macro a define and provide new one. The new macro and define use the prefix UMUI_ instead of MUI_.
+
Please be aware that the Ultra-Modern UI and the Modern UI interfaces settings are different compared to the classic interface. This means that you should not use settings like LicenseText, Icon, CheckBitmap, InstallColors etc. but the ones that are documented here.
+
Ultra-Modern UI include three NSIS plug-ins:
- - SkinnedControls: a plug-in, natively integrated to UmtraModernUI, to skin all buttons and scroll bars of your installer;
- - InstallOptionsEx: an extension, natively integrated to UmtraModernUI, of the original InstallOptions plug-in with more feature to create custom pages;
- - nsArray: needed by some UltraModernUI features, provide less out-of-the-box arrays and map features.
+ - SkinnedControls: a plug-in, natively integrated to Ultra-Modern UI, to skin all buttons and scroll bars of your installer;
+ - InstallOptionsEx: an extension, natively integrated to Ultra-Modern UI, of the original InstallOptions plug-in with more feature to create custom pages;
+ - nsArray: needed by some Ultra-Modern UI features, provide less out-of-the-box arrays and map features.
Screenshots
@@ -49,7 +49,7 @@
-
+
@@ -63,16 +63,16 @@
-
-
-
-
+
+
+
+
- The colors, that are used in this document, correspond to the differences between UltraModernUI / ModernUIEx and the original Modern UI:
+ The colors, that are used in this document, correspond to the differences between Ultra-Modern UI / Modern UIEx and the original Modern UI:
- BLACK: macro and define that were the same;
- RED: macro and define that were removed;
@@ -82,12 +82,12 @@
-
The UltraModernUI has a macro system, so all the code to control the interface has already been written for you.
- If you want to start a new UltraModernUI script or upgrade an older script with the Modern UI or Classic UI, follow the steps below.
- Taking a look at the example scripts will also help you to learn more about the UltraModernUI.
+ The Ultra-Modern UI has a macro system, so all the code to control the interface has already been written for you.
+ If you want to start a new Ultra-Modern UI script or upgrade an older script with the Modern UI or Classic UI, follow the steps below.
+ Taking a look at the example scripts will also help you to learn more about the Ultra-Modern UI.
Syntax
@@ -107,7 +107,7 @@
1. Header file
!include "MUI.nsh"
in your script by this one:
!include "UMUI.nsh"
-
Or this one if you want to use the ModernUIEx style (The extended version of Modern UI but with the support of the new Ultra-Modern pages):
+
Or this one if you want to use the Modern UIEx style (The extended version of Modern UI but with the support of the new Ultra-Modern pages):
!include "MUIEx.nsh"
UMUI.nsh and MUIEx.nsh are in the Include directory, so you don't have to specify a path.
@@ -123,7 +123,7 @@
There are some difference between UMUI and MUIEx defined in particular on the default values:
-
Interface Settings for UltraModernUI
+
Interface Settings for Ultra-Modern UI
Skin Setting
@@ -135,7 +135,7 @@
Default: none
Example of the "blue" skin:
-
!define /IfNDef UMUI_TEXT_COLOR FFFFFF
+!define /IfNDef MUI_TEXTCOLOR FFFFFF
!define /IfNDef MUI_BGCOLOR 4C72B2
!define /IfNDef UMUI_TEXT_LIGHTCOLOR FFFF00
!define /IfNDef UMUI_HEADERTEXT_COLOR FFFFFF
@@ -259,9 +259,8 @@ UMUI_TEXT_COLOR (color: RRGGBBR hexadecimal)
- Text color for all the pages.
- The MUI_TEXT_COLOR define has been renamed in UltraModernUI in order to assure the compatibility with the former Modern UI scripts.
+
MUI_TEXTCOLOR (color: RRGGBBR hexadecimal)
+ Text color for all the pages.
Default: FFFFFF
UMUI_TEXT_LIGHTCOLOR (color: RRGGBBR hexadecimal)
@@ -290,7 +289,7 @@
UMUI_HEADERTEXT_COLOR (color: RRGGBBR hexadecimal)
Header text color for all the pages.
- Default: ${UMUI_TEXT_COLOR}
+ Default: ${MUI_TEXTCOLOR}
MUI_HEADER_TRANSPARENT_TEXT
Set a transparent background for the header's label controls. Useful for custom user interfaces that set a bigger header image.
@@ -427,7 +426,7 @@ UMUI_UI ui_file
The interface file with the dialog resources when the UMUI_ULTRAMODERN_SMALL option not defined. Change this if you have made your own customized UI.
- The MUI_UI define has been renamed in UltraModernUI in order to assure the compatibility with the former Modern UI scripts.
+ The MUI_UI define has been renamed in Ultra-Modern UI in order to assure the compatibility with the former Modern UI scripts.
Default: ${NSISDIR}\Contrib\UIs\UltraModernUI\UltraModern.exe
UMUI_UI_SMALL ui_file
@@ -496,7 +495,7 @@
UMUI_WELCOMEFINISHABORTPAGE_INI ini_file
InstallOptions INI file for the Welcome, the Finish and the Abort pages.
- The MUI_WELCOMEFINISHPAGE_INI define has been renamed in UltraModernUI in order to assure the compatibility with the former Modern UI scripts.
+ The MUI_WELCOMEFINISHPAGE_INI define has been renamed in Ultra-Modern UI in order to assure the compatibility with the former Modern UI scripts.
Default with UMUI_WELCOMEFINISHABORTPAGE_USE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbortImage.ini
Default without UMUI_WELCOMEFINISHABORTPAGE_USE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbort.ini
@@ -531,7 +530,7 @@ UMUI_UNWELCOMEFINISHABORTPAGE_INI ini_file
InstallOptions INI file for the uninstaller Welcome page, the Finish page and the Abort page.
- The MUI_UNWELCOMEFINISHPAGE_INI define has been renamed in UltraModernUI in order to assure the compatibility with the former Modern UI scripts.
+ The MUI_UNWELCOMEFINISHPAGE_INI define has been renamed in Ultra-Modern UI in order to assure the compatibility with the former Modern UI scripts.
Default with UMUI_WELCOMEFINISHABORTPAGE_USE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbortImage.ini
Default without UMUI_WELCOMEFINISHABORTPAGE_USE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbort.ini
@@ -608,7 +607,7 @@ (/windows | /grey | (color: RRGGBB hexadecimal))
The background color for the license textbox. Use /windows for the Windows text background color (usually white). Use the /grey for the window background color (usually grey).
- Default: FFFFFF
+ Default: /windows
@@ -640,7 +639,7 @@
(/windows | (foreground color: RRGGBB hexadecimal) (background color: RRGGBB hexadecimal))
The colors of the details screen. Use /windows for the default Windows colors.
- Default: ${UMUI_TEXT_COLOR} ${MUI_BGCOLOR}
+ Default: ${MUI_TEXTCOLOR} ${MUI_BGCOLOR}
MUI_INSTFILESPAGE_PROGRESSBAR ("" | colored | smooth)
The style of the progress bar. Colored makes it use the MUI_INSTALLCOLORS.
@@ -702,7 +701,7 @@
Interface Settings for ModernUIEx
+
Interface Settings for Modern UIEx
@@ -818,10 +817,9 @@
UMUI_TEXT_COLOR (color: RRGGBBR hexadecimal)
- Text color for all the pages.
- The MUI_TEXT_COLOR define has been renamed in UltraModernUI in order to assure the compatibility with the former Modern UI scripts.
- Default: 000000
+
MUI_TEXTCOLOR (color: RRGGBBR hexadecimal)
+ Text color for all the pages.
+ Default: 000000
UMUI_TEXT_LIGHTCOLOR (color: RRGGBBR hexadecimal)
Default link color for finish and abort pages.
@@ -841,7 +839,7 @@
UMUI_HEADERTEXT_COLOR (color: RRGGBBR hexadecimal)
Header text color for all the pages.
- Default: ${UMUI_TEXT_COLOR}
+ Default: ${MUI_TEXTCOLOR}
UMUI_BUTTONIMAGE_BMP bmp_file
Bitmap image to skin all buttons of installer.
@@ -963,7 +961,7 @@
UMUI_WELCOMEFINISHABORTPAGE_INI ini_file
InstallOptions INI file for the Welcome, the Finish and the Abort pages.
- The MUI_WELCOMEFINISHPAGE_INI define has been renamed in UltraModernUI in order to assure the compatibility with the former Modern UI scripts.
+ The MUI_WELCOMEFINISHPAGE_INI define has been renamed in Ultra-Modern UI in order to assure the compatibility with the former Modern UI scripts.
Default without UMUI_WELCOMEFINISHABORTPAGE_NOTUSE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbortImage.ini
Default with UMUI_WELCOMEFINISHABORTPAGE_NOTUSE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbort.ini
@@ -998,7 +996,7 @@ UMUI_UNWELCOMEFINISHABORTPAGE_INI ini_file
InstallOptions INI file for the uninstaller Welcome page, the Finish page and the Abort page.
- The MUI_UNWELCOMEFINISHPAGE_INI define has been renamed in UltraModernUI in order to assure the compatibility with the former Modern UI scripts.
+ The MUI_UNWELCOMEFINISHPAGE_INI define has been renamed in Ultra-Modern UI in order to assure the compatibility with the former Modern UI scripts.
Default without UMUI_WELCOMEFINISHABORTPAGE_NOTUSE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbortImage.ini
Default with UMUI_WELCOMEFINISHABORTPAGE_NOTUSE_IMAGE option enabled:
${NSISDIR}\Contrib\UltraModernUI\Ini\WelcomeFinishAbort.ini
@@ -2206,7 +2204,7 @@ UMUI_LANGUAGE_REGISTRY_VALUENAME value_name
The registry key to store the language. The users preference will be remembered. You can also use it for the uninstaller to display the right language. This value will be automatically saved to the registry on install success. Don't forget to remove this key in the uninstaller.
UMUI_LANGUAGE_REGISTRY_ROOT and UMUI_LANGUAGE_REGISTRY_KEY defines are optional when UMUI_PARAMS_REGISTRY_ROOT and UMUI_PARAMS_REGISTRY_KEY are defined.
- The MUI_LANGDLL_REGISTRY_ROOT, MUI_LANGDLL_REGISTRY_KEY and MUI_LANGDLL_REGISTRY_VALUENAME defines has been renamed in UltraModernUI.
+ The MUI_LANGDLL_REGISTRY_ROOT, MUI_LANGDLL_REGISTRY_KEY and MUI_LANGDLL_REGISTRY_VALUENAME defines has been renamed in Ultra-Modern UI.
For the uninstaller, insert the MUI_UNGETLANGUAGE macro in un.onInit to get the stored language preference:
@@ -2303,7 +2301,7 @@
Custom pages
Using InstallOptions or InstallOptionsEx for custom pages
-
UltraModernUI support natively two plug-ins to displays custom pages which you can create using INI files. InstallOptions and InstallOptionsEx:
+
Ultra-Modern UI support natively two plug-ins to displays custom pages which you can create using INI files. InstallOptions and InstallOptionsEx:
InstallOptions is the original plug-in used by Modern UI.
@@ -2400,9 +2398,9 @@
nsDialogs documentation for info about creating nsDialogs custom pages.
-
Contrary to InstallOptions(Ex), UltraModernUI does not have macro to skin automatically your custom pages.
+
Contrary to InstallOptions(Ex), Ultra-Modern UI does not have macro to skin automatically your custom pages.
If the UMUI_(UN)PAGE_ABORT page is inserted, you need to use the UMUI_ABORT_IF_INSTALLFLAG_IS macro with the ${UMUI_CANCELLED} flag to hide the page when user cancel the installation:
Use the MUI_HEADER_TEXT macro to set the text on the page header:
@@ -2502,9 +2500,9 @@
@@ -2533,11 +2531,11 @@ Customize UltraModernUI Functions
+Customize Ultra-Modern UI Functions
-
If you want add your own code to functions inserted by the UltraModernUI, such as the .onGUIInit function and the Page functions, create your own function and let the UltraModernUI functions call them. Use the defines to define the name of your functions.
-
Contrary to Modern UI, UltraModernUI may also define itself, if background skin is used, the .onGUIEnd and the un.onGUIEnd functions. Consequently, you may not be able to declare them in your script, and, in this case, you must used this customization.
+
If you want add your own code to functions inserted by the Ultra-Modern UI, such as the .onGUIInit function and the Page functions, create your own function and let the Ultra-Modern UI functions call them. Use the defines to define the name of your functions.
+
Contrary to Modern UI, Ultra-Modern UI may also define itself, if background skin is used, the .onGUIEnd and the un.onGUIEnd functions. Consequently, you may not be able to declare them in your script, and, in this case, you must used this customization.
Example:
@@ -2638,8 +2636,9 @@
Example Scripts
- File&disk request page: FileDiskRequest.nsi
- Custom pages: InstallOptions.nsi
- Custom pages: nsDialogs.nsi
-
- UltraModernUI installer: UltraModernUI.nsi
-
- NSIS+UltraModernUI installer: NSISUltraModernUI.nsi
+
- NSIS menu with Ultra-Modern UI: NSISUMUIMenu.nsi
+
- Ultra-Modern UI installer: UltraModernUI.nsi
+
- NSIS+Ultra-Modern UI installer: NSISUltraModernUI.nsi
@@ -2648,6 +2647,18 @@ Example Scripts
Version History
+ - Version 2.0 beta 5 - January 01, 2019
+
+ - Ultra-Modern UI is resynchronized under Modern UI version 1.81.
+ - Consequently, The UMUI_TEXT_COLOR define was renamed in MUI_TEXTCOLOR.
+ - UMUI now provide an extended NSIS Menu with links for UMUI and extra plugins documentations.
+ - Consequently, UMUI installers no more create extra shortcuts on the start menu, but replace the original NSIS menu shortcuts.
+ - Fixed bug when the Additional Tasks page is skipped, options where not affected...
+ - Fixed bug when the Licence page text is unreadable with the Windows high contrast mode.
+ - Minor Fixes.
+
+
+
- Version 2.0 beta 4 - February 04, 2018
- Fixed UMUI_PAGE_SERIALNUMBER and UMUI_UNPAGE_SERIALNUMBER pages failed to compile.
@@ -2669,7 +2680,7 @@ Version History
- Updated the SkinnedControls plug-in to version 1.4 with support of the new NSIS plug-in API, optional unskinit method calls and ignore case parameters name support.
- Fixed: Links on RichText information pages are now clickable;
- Fixed: Missing MUI_PAGE_CUSTOMFUNCTION_PRE support missing for some Ultra-Modern pages (by Bodenseematze);
- - Fixed: Most of the time, command line parameters were not transfered to Exec calls (thanks Bodenseematze);
+ - Fixed: Most of the time, command line parameters were not transferred to Exec calls (thanks Bodenseematze);
- Several new and completed language files and other minor fixes by Bodenseematze:
- Completed: German language file;
@@ -2687,7 +2698,7 @@ Version History
- Version 2.0 beta 1 - August 27, 2016
- - UltraModernUI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
+
- Ultra-Modern UI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
- The NSISArray plug-in was replaced by the new nsArray plug-in in version 1.1.1.7 who is faster and uses less memory;
- Updated the InstallOptionsEx plug-in to version 2.4.5 beta 3 with full unicode support;
- Updated the SkinnedControls plug-in to version 1.3 with unicode support, bug fixed, rewritten documentation, button image size no more limited to allow smoother gradients...;
@@ -2698,7 +2709,7 @@ Version History
- Reduced weight of skin images;
- Updated and almost completed documentation;
- Added an example for nsDialogs based custom page and documentation;
- - The default install directory for the NSIS + UltraModernUI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
+ - The default install directory for the NSIS + Ultra-Modern UI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
- A lot of bug fixes and optimizations;
- Source code now on GitHub: https://github.com/SuperPat45/UltraModernUI.
@@ -2707,14 +2718,14 @@ Version History
- Version 1.00 beta 2 - November 11, 2010
- Second public beta release after more than three development years.
- - UltraModernUI use the new NSIS Doc directory used since the version 2.07 and UMUI.nsh is resynchronised under Modern UI version 1.8.
- - UltraModernUI include also a second Unser Interface named ModernUIEx. ModernUIEx is an extended version of Modern UI but with the new UltraModern pages support.
+ - Ultra-Modern UI use the new NSIS Doc directory used since the version 2.07 and UMUI.nsh is resynchronised under Modern UI version 1.8.
+ - Ultra-Modern UI include also a second Unser Interface named Modern UIEx. Modern UIEx is an extended version of Modern UI but with the new UltraModern pages support.
- - UltraModernUI included henceforth three plug-ins that are supported natively :
+
- Ultra-Modern UI included henceforth three plug-ins that are supported natively :
- The SkinnedControls plug-in. SkinnedScrollControls is based on the wansis plug-in of Saivert and can skin all buttons and scroll bars of your NSIS installer like the most recent installers as well as the scrollbars (only for Windows 2000/XP/2003/Vista/2008).
- - The fixed version of the InstallOptionEx plug-in. InstallOptionEx is writen by Diego Pedroso (deguix) and is an expanded version of InstallOptions containing many new features, with size drawback. This version, debugged by SuperPat, contain a lot of bug fixes necessary to the correct operation of some UltraModernUI pages.
- - The NSISArray plug-in. This plug-in written by Afrow UK, allows the support of the array in NSIS. It comes with plenty of functions for managing your arrays. This plug-in is used with the AlternativeStartMenu and MultiLanguages Pages of UltraModernUI.
+ - The fixed version of the InstallOptionEx plug-in. InstallOptionEx is writen by Diego Pedroso (deguix) and is an expanded version of InstallOptions containing many new features, with size drawback. This version, debugged by SuperPat, contain a lot of bug fixes necessary to the correct operation of some Ultra-Modern UI pages.
+ - The NSISArray plug-in. This plug-in written by Afrow UK, allows the support of the array in NSIS. It comes with plenty of functions for managing your arrays. This plug-in is used with the AlternativeStartMenu and MultiLanguages Pages of Ultra-Modern UI.
@@ -2757,7 +2768,7 @@ Credits
Made by SuperPat
- - Based on Modern UI 1.8 Copyright 2002-2018 Joost Verburg.
+ - Based on Modern UI 1.81 Copyright 2002-2019 Joost Verburg.
- And inspired of the ExperienceUI of dandaman32.
Skins by SuperPat
@@ -2779,13 +2790,13 @@
Help
License
-
The zlib/libpng license applies to the UltraModernUI.
+
The zlib/libpng license applies to Ultra-Modern UI.
License Terms
-
Copyright © 2005-2018 SuperPat
+
Copyright © 2005-2019 SuperPat
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
@@ -2809,7 +2820,7 @@
-
+
diff --git a/Examples/InstallOptionsEx/InstallOptionsEx.nsi b/Examples/InstallOptionsEx/InstallOptionsEx.nsi
index 590c3c3..8e97295 100644
--- a/Examples/InstallOptionsEx/InstallOptionsEx.nsi
+++ b/Examples/InstallOptionsEx/InstallOptionsEx.nsi
@@ -18,7 +18,7 @@
VIAddVersionKey ProductVersion "${VERSION}"
VIAddVersionKey Comments "InstallOptionsEx plugin for NSIS (Nullsoft Scriptable Install System)."
VIAddVersionKey LegalTrademarks "InstallOptionsEx is released under the zlib/libpng license: http://nsis.sf.net/License"
- VIAddVersionKey LegalCopyright "Copyright � 2005-2018 SuperPat, Copyright � 2004-2005 Diego Pedroso"
+ VIAddVersionKey LegalCopyright "Copyright � 2005-2019 SuperPat, Copyright � 2004-2005 Diego Pedroso"
VIAddVersionKey FileDescription "InstallOptionsEx allow you to create custom pages for NSIS installers, to prompt the user for extra information."
VIAddVersionKey FileVersion "${VERIPV}"
@@ -196,8 +196,9 @@
!insertmacro MUI_LANGUAGE "Tatar"
; Other unicode only untranslated languages but usable even so.
- !insertmacro MUI_LANGUAGE "Georgian"
!insertmacro MUI_LANGUAGE "Armenian"
+ !insertmacro MUI_LANGUAGE "Georgian"
+ !insertmacro MUI_LANGUAGE "Hindi"
;--------------------------------
; The stuff to install
diff --git a/Examples/SkinnedControls/SkinnedControls.nsi b/Examples/SkinnedControls/SkinnedControls.nsi
index 087c795..cef8a79 100644
--- a/Examples/SkinnedControls/SkinnedControls.nsi
+++ b/Examples/SkinnedControls/SkinnedControls.nsi
@@ -16,7 +16,7 @@
VIProductVersion "${VERIPV}.0.0"
VIAddVersionKey "ProductName" "SkinnedControls plugin for NSIS (Nullsoft Scriptable Install System)."
VIAddVersionKey "LegalTrademarks" "SkinnedControls is released under the zlib/libpng license"
- VIAddVersionKey "LegalCopyright" "Copyright � 2005-2018 SuperPat, Based on wansis @ Saivert"
+ VIAddVersionKey "LegalCopyright" "Copyright � 2005-2019 SuperPat, Based on wansis @ Saivert"
VIAddVersionKey "FileDescription" "SkinnedControls allow you to can skin all buttons and scroll bars of your installer."
VIAddVersionKey "FileVersion" "${VERIPV}"
@@ -192,8 +192,9 @@
!insertmacro MUI_LANGUAGE "Tatar"
; Other unicode only untranslated languages but usable even so.
- !insertmacro MUI_LANGUAGE "Georgian"
!insertmacro MUI_LANGUAGE "Armenian"
+ !insertmacro MUI_LANGUAGE "Georgian"
+ !insertmacro MUI_LANGUAGE "Hindi"
;--------------------------------
; The stuff to install
diff --git a/Examples/UltraModernUI/AdditionalTasks.nsi b/Examples/UltraModernUI/AdditionalTasks.nsi
index 3a79528..bd4241b 100644
--- a/Examples/UltraModernUI/AdditionalTasks.nsi
+++ b/Examples/UltraModernUI/AdditionalTasks.nsi
@@ -83,8 +83,15 @@ Function addtasks_function
; only if a directory has been selected in the STARTMENU page
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application
!insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_LABEL "$(UMUI_TEXT_SHELL_VAR_CONTEXT)"
- !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO ALL 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
- !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 0 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ UserInfo::GetAccountType
+ Pop $R0
+ StrCmp $R0 "Guest" 0 notLimited
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ Goto endShellVarContext
+ notLimited:
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO ALL 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 0 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ endShellVarContext:
!insertmacro MUI_STARTMENU_WRITE_END
FunctionEnd
@@ -186,10 +193,11 @@ Section "Dummy Section" SecDummy
;set shellvar context
+ ; only if all user is selected
!insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED ALL
SetShellVarContext all
!insertmacro UMUI_ADDITIONALTASKS_ENDIF
-
+ ; only if current user is selected
!insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED CURRENT
SetShellVarContext current
!insertmacro UMUI_ADDITIONALTASKS_ENDIF
diff --git a/Examples/UltraModernUI/HeaderBGImageEx.nsi b/Examples/UltraModernUI/HeaderBGImageEx.nsi
index 5a13243..99ed1a4 100644
--- a/Examples/UltraModernUI/HeaderBGImageEx.nsi
+++ b/Examples/UltraModernUI/HeaderBGImageEx.nsi
@@ -22,7 +22,7 @@
; If you want to change the header image
; !define MUI_HEADERBGIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\UltraModernUI\HeaderBG.bmp"
- !define UMUI_TEXT_COLOR FFFFFF
+ !define MUI_TEXTCOLOR FFFFFF
!define MUI_BGCOLOR 6783cf
!define UMUI_HEADERTEXT_COLOR 003366
diff --git a/Examples/UltraModernUI/MultiLanguage.nsi b/Examples/UltraModernUI/MultiLanguage.nsi
index d56dd6e..887ce16 100644
--- a/Examples/UltraModernUI/MultiLanguage.nsi
+++ b/Examples/UltraModernUI/MultiLanguage.nsi
@@ -131,8 +131,9 @@
!insertmacro MUI_LANGUAGE "Tatar"
; Other unicode only untranslated languages but usable even so.
- !insertmacro MUI_LANGUAGE "Georgian"
!insertmacro MUI_LANGUAGE "Armenian"
+ !insertmacro MUI_LANGUAGE "Georgian"
+ !insertmacro MUI_LANGUAGE "Hindi"
;--------------------------------
diff --git a/Examples/UltraModernUI/NSISUMUIMenu.nsi b/Examples/UltraModernUI/NSISUMUIMenu.nsi
new file mode 100644
index 0000000..d45640a
--- /dev/null
+++ b/Examples/UltraModernUI/NSISUMUIMenu.nsi
@@ -0,0 +1,314 @@
+OutFile "NSISUMUI.exe"
+Name "NSIS Menu with UMUI"
+Unicode True
+RequestExecutionLevel User
+XPStyle On
+ManifestDPIAware System
+SetCompressor LZMA
+ChangeUI IDD_INST "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
+Icon "${NSISDIR}\Contrib\Graphics\Icons\nsis-menu.ico"
+BrandingText " "
+MiscButtonText " " " " " " " "
+InstallButtonText " "
+CompletedText " "
+LangString ^ClickInstall 0 " "
+Caption "$(^Name)"
+
+!include nsDialogs.nsh
+!include WinMessages.nsh
+!include LogicLib.nsh
+!define /IfNDef IDC_CHILDRECT 1018
+!define QUIT_ON_EXECUTE
+!define PR $ExeDir ; Local root path
+!define PD "Docs" ; Local with WWW fallback (located at the same relative path)
+!define WWW "http://nsis.sf.net"
+
+!define CB_HEADER 0x755585
+!define UY_HEADER 28
+!define CB_PAGE 0xffffff
+!define CT_SECTION 0x666666
+!define CB_SECTION ${CB_PAGE}
+!define UY_SECTION 11 ; Height of a section
+!define UY_SECTIONBPAD 2 ; Extra padding on the bottom of section headers
+!define UY_TXT 9 ; Height of a normal item
+!define UY_TXTBPAD 0 ; Extra padding on the bottom of normal items
+!define UX_COLPAD 7 ; Spacing between columns
+!define UY_ROW2 104 ; Absolute position of the 2nd row
+!define CT_LINK 0x0c6e97 ; SYSCLR:HOTLIGHT
+!define /Math UX_PAGE 00 + ${UX_COLPAD}
+!define /Math UY_PAGE ${UY_HEADER} + 10
+!define UX ${UX_PAGE}
+
+Function PageLeave
+System::Call 'USER32::GetFocus()p.r0'
+System::Call 'USER32::GetDlgCtrlID(pr0)i.r1'
+System::Call 'USER32::GetParent(pr0)p.r2'
+SendMessage $2 ${WM_COMMAND} $1 $0 ; Handle
in dialog by pretending it was a click on the active control
+Abort
+FunctionEnd
+
+Function PageCreate
+GetDlgItem $0 $hWndParent 1
+ShowWindow $0 0
+GetDlgItem $0 $hWndParent 2
+ShowWindow $0 0
+
+System::Call 'USER32::GetClientRect(p$hWndParent,@r0)'
+System::Call '*$0(i,i,i.r3,i.r4)'
+GetDlgItem $0 $hWndParent ${IDC_CHILDRECT}
+System::Call 'USER32::MoveWindow(pr0,i0,i0,ir3,ir4,i0)'
+
+nsDialogs::Create ${IDC_CHILDRECT}
+Pop $R9
+SetCtlColors $R9 000000 ${CB_PAGE}
+
+!macro StartColumn W
+!define /ReDef UY ${UY_PAGE}
+!define /ReDef UX_W ${W}
+!ifdef UX_INTERNAL_PREV_W
+!define /ReDef /Math UX ${UX} + ${UX_INTERNAL_PREV_W}
+!define /ReDef /Math UX ${UX} + ${UX_COLPAD}
+!define /ReDef UX_INTERNAL_PREV_W ${UX_W}
+!else
+!define /Math UX_INTERNAL_PREV_W 0 + ${UX_W}
+!endif
+!macroend
+!macro CreateHeader Txt W
+!define /ReDef /Math W ${W} + 4 ; Make it slightly wider
+${NSD_CreateLabel} ${UX}u ${UY}u ${W}u ${UY_SECTION}u "${Txt}"
+Pop $0
+SetCtlColors $0 ${CT_SECTION} transparent
+SendMessage $0 ${WM_SETFONT} ${HF_HEADER} 1
+!define /ReDef /Math UY ${UY} + ${UY_SECTION}
+!define /ReDef /Math UY ${UY} + ${UY_SECTIONBPAD}
+!macroend
+!macro CreateControl Class Txt W H
+${NSD_Create${Class}} ${UX}u ${UY}u ${W}u ${H}u "${Txt}"
+!define /ReDef /Math UY ${UY} + ${H}
+!define /ReDef /Math UY ${UY} + ${UY_TXTBPAD}
+!macroend
+!macro CreateSimpleLinkHelper Txt Url W
+!insertmacro CreateControl Link "${Txt}|${Url}" ${W} ${UY_TXT}
+!macroend
+!macro CreateSimpleLink Txt Url W
+!insertmacro CreateSimpleLinkHelper "${Txt}" "${Url}" ${W}
+Call ConfigureLink
+!macroend
+
+
+; --- Header ---
+!define HF_HEADER $R8
+CreateFont ${HF_HEADER} "Arial" ${UY_SECTION} 700
+
+nsDialogs::CreateControl ${__NSD_Label_CLASS} ${__NSD_Label_STYLE} ${__NSD_Label_EXSTYLE} 33u 0 -33u ${UY_HEADER}u ""
+Pop $0
+SetCtlColors $0 0xffffff ${CB_HEADER}
+
+nsDialogs::CreateControl ${__NSD_Icon_CLASS} ${__NSD_Icon_STYLE}|${SS_CENTERIMAGE}|${SS_CENTER} ${__NSD_Icon_EXSTYLE} 0 0 33u ${UY_HEADER}u ""
+Pop $0
+SetCtlColors $0 "" ${CB_HEADER}
+${NSD_SetIconFromInstaller} $0 $1
+
+ReadRegDword $R0 HKLM Software\NSIS "VersionMajor"
+IfErrors endVersion 0
+ ReadRegDword $R1 HKLM Software\NSIS "VersionMinor"
+ IfErrors endVersion 0
+ IntCmp $R1 9 0 0 +3
+ StrCpy $R0 "$R0.0$R1"
+ Goto endVersion
+ StrCpy $R0 "$R0.$R1"
+endVersion:
+
+CreateFont $1 "Trebuchet MS" 17
+nsDialogs::CreateControl ${__NSD_Label_CLASS} ${__NSD_Label_STYLE}|${SS_CENTERIMAGE}|${SS_ENDELLIPSIS} ${__NSD_Label_EXSTYLE} 34u 1u -34u ${UY_HEADER}u "nullsoft scriptable install system $R0"
+Pop $0
+SetCtlColors $0 0x3A2A42 transparent
+SendMessage $0 ${WM_SETFONT} $1 1
+nsDialogs::CreateControl ${__NSD_Label_CLASS} ${__NSD_Label_STYLE}|${SS_CENTERIMAGE}|${SS_ENDELLIPSIS} ${__NSD_Label_EXSTYLE} 33u 0 -33u ${UY_HEADER}u "nullsoft scriptable install system $R0"
+Pop $0
+SetCtlColors $0 0xffffff transparent
+SendMessage $0 ${WM_SETFONT} $1 1
+
+
+; --- Page ---
+!insertmacro StartColumn 90
+!insertmacro CreateHeader "Compiler" ${UX_W}
+!insertmacro CreateSimpleLink "Compile NSI scripts" "${PR}\MakeNSISW" ${UX_W}
+!insertmacro CreateSimpleLink "Installer based on .ZIP file" "${PR}\bin\Zip2Exe" ${UX_W}
+
+
+!define /ReDef UY ${UY_ROW2}
+!insertmacro CreateHeader "Developer Center" ${UX_W}
+!define /ReDef UY_MULTILINE 42
+!insertmacro CreateControl Label "Many more examples, tutorials, plug-ins and NSIS-releted software are available at the online Developer Center." ${UX_W} ${UY_MULTILINE}
+Pop $0
+SetCtlColors $0 00000000 ${CB_PAGE}
+
+
+!insertmacro StartColumn 80
+!insertmacro CreateHeader "Documentation" ${UX_W}
+!insertmacro CreateSimpleLink "NSIS Users Manual" "${PR}\NSIS.chm|${WWW}/Docs/" ${UX_W}
+!insertmacro CreateSimpleLink "Example scripts" "${PR}\Examples|${WWW}/Examples" ${UX_W}
+!insertmacro CreateSimpleLink "Modern UI 2" "${PD}\Modern UI 2\Readme.html" ${UX_W}
+!insertmacro CreateSimpleLink "Ultra-Modern UI" "${PD}\UltraModernUI\Readme.html" ${UX_W}
+
+
+!define /ReDef UY ${UY_ROW2}
+!insertmacro CreateHeader "Online Help" ${UX_W}
+!insertmacro CreateSimpleLink "Developer Center" "${WWW}/Developer_Center" ${UX_W}
+!insertmacro CreateSimpleLink "FAQ" "${WWW}/FAQ" ${UX_W}
+!insertmacro CreateSimpleLink "Forum" "http://forums.winamp.com/forumdisplay.php?forumid=65" ${UX_W}
+;"Project Tracker" "http://sourceforge.net/tracker/?group_id=22049"
+!insertmacro CreateSimpleLink "Bug Tracker" "http://sourceforge.net/tracker/?group_id=22049&atid=373085" ${UX_W}
+!insertmacro CreateSimpleLink "Stackoverflow" "http://stackoverflow.com/questions/tagged/nsis" ${UX_W}
+!insertmacro CreateSimpleLink "Slack collaboration hub" "${WWW}/r/Slack" ${UX_W}
+!insertmacro CreateSimpleLink "IRC channel" "irc://irc.landoleet.org/nsis" ${UX_W}
+;"Pastebin" "http://nsis.pastebin.com/index/1FtyKP89"
+;"Search" "http://www.google.com/cse/home?cx=005317984255499820329:c_glv1-6a6a"
+
+
+!insertmacro StartColumn 130
+!insertmacro CreateHeader "Plug-ins" ${UX_W}
+!macro CreatePluginLink Name Desc Url
+!define /ReDef SAVE_UY ${UY}
+!insertmacro CreateSimpleLinkHelper "${Name}" "${Url}" ${UX_W} ; AdjustLinkPair will configure this link
+!define /ReDef UY ${SAVE_UY}
+!insertmacro CreateControl Label "${Name} - ${Desc}" ${UX_W} ${UY_TXT}
+Call AdjustLinkPair
+!macroend
+!insertmacro CreatePluginLink "AdvSplash" "splash with fade in/out" "${PD}\AdvSplash\advsplash.txt"
+!insertmacro CreatePluginLink "Banner" "banner with custom text" "${PD}\Banner\Readme.txt"
+!insertmacro CreatePluginLink "BgImage" "background image" "${PD}\BgImage\BgImage.txt"
+!insertmacro CreatePluginLink "Dialer" "internet connection" "${PD}\Dialer\Dialer.txt"
+!insertmacro CreatePluginLink "Math" "math operations" "${PD}\Math\Math.txt"
+!insertmacro CreatePluginLink "nsDialogs" "custom wizard pages" "${PD}\nsDialogs\Readme.html"
+!insertmacro CreatePluginLink "nsExec" "launch command line tools" "${PD}\nsExec\nsExec.txt"
+!insertmacro CreatePluginLink "NSISdl" "download files" "${PD}\NSISdl\Readme.txt"
+!insertmacro CreatePluginLink "Splash" "splash screen" "${PD}\Splash\splash.txt"
+!insertmacro CreatePluginLink "StartMenu" "Start Menu folder selection" "${PD}\StartMenu\Readme.txt"
+!insertmacro CreatePluginLink "System" "Windows API calls" "${PD}\System\System.html"
+!insertmacro CreatePluginLink "VPatch" "update existing files" "${PD}\VPatch\Readme.html"
+
+!insertmacro CreatePluginLink "InstallOptions" "custom wizard pages" "${PD}\InstallOptions\Readme.html"
+!insertmacro CreatePluginLink "InstallOptionsEx" "custom wizard pages" "${PD}\InstallOptionsEx\Readme.html"
+!insertmacro CreatePluginLink "nsArray" "use arrays in scripts" "${PD}\nsArray\Readme.txt"
+!insertmacro CreatePluginLink "SkinnedControls" "skin buttons/scrollbars" "${PD}\SkinnedControls\Readme.html"
+
+; --- Footer ---
+${NSD_CreateLabel} 0 -22u 100% 1 ""
+Pop $0
+SetCtlColors $0 000000 0xc4c4c4
+
+nsDialogs::CreateControl ${__NSD_Label_CLASS} ${__NSD_Label_STYLE}|${SS_CENTERIMAGE}|${SS_NOTIFY} ${__NSD_Label_EXSTYLE} -110u -20u 100% 20u "nsis.sourceforge.net"
+Pop $0
+SetCtlColors $0 0xbbbbbb transparent
+SendMessage $0 ${WM_SETFONT} ${HF_HEADER} 1
+nsDialogs::SetUserData $0 "http://nsis.sourceforge.net"
+${NSD_OnClick} $0 OnLinkClick
+
+nsDialogs::Show
+FunctionEnd
+
+Function OnLinkClick
+Pop $1 ; HWND
+nsDialogs::GetUserData $1
+Call SplitPipe
+Pop $0 ; First URL in UserData from SplitPipe
+StrCpy $3 ""
+StrCpy $1 $0 4 ; Copy length of ${PD}
+${IfThen} $1 == "${PD}" ${|} StrCpy $3 "${PR}\" ${|}
+!ifdef QUIT_ON_EXECUTE
+System::Call 'USER32::GetKeyState(i0x11)i.r9' ; VK_CONTROL
+!endif
+ClearErrors
+ExecShell "" "$3$0"
+Pop $1 ; ... the rest of SplitPipe ...
+${If} $1 != "" ; ... might contain a fallback location
+ StrCpy $0 $1
+ StrCpy $3 ""
+${ElseIf} $3 != "" ; Local docs path failed, use WWW fallback
+ StrCpy $3 0
+ slashconvloop:
+ StrCpy $2 $0 1 $3
+ ${If} $2 == "\"
+ StrCpy $2 $0 $3
+ IntOp $3 $3 + 1
+ StrCpy $0 $0 "" $3
+ StrCpy $0 "$2/$0"
+ ${Else}
+ IntOp $3 $3 + 1
+ ${EndIf}
+ StrCmp $2 "" 0 slashconvloop
+ StrCpy $3 "${WWW}/"
+${EndIf}
+${If} "$3$1" != ""
+${AndIf} ${Errors}
+ ExecShell "" "$3$0"
+${EndIf}
+${If} ${Errors}
+ !ifdef QUIT_ON_EXECUTE
+ StrCpy $9 0 ; Don't allow close
+ !endif
+ MessageBox MB_IconStop 'Error: Unable to open "$0"!'
+${EndIf}
+!ifdef QUIT_ON_EXECUTE
+${IfThen} $9 < 0 ${|} SendMessage $hWndParent ${WM_CLOSE} 0 0 ${|}
+!endif
+FunctionEnd
+
+Function ConfigureLink
+Pop $1 ; HWND
+${NSD_OnClick} $1 OnLinkClick
+SetCtlColors $1 ${CT_LINK} ${CB_PAGE}
+${NSD_GetText} $1 $4
+Push $4
+Call SplitPipe
+Pop $4
+Pop $2
+${NSD_SetText} $1 $4
+nsDialogs::SetUserData $1 $2
+System::Call 'USER32::GetDC(pr1)p.r3'
+SendMessage $1 ${WM_GETFONT} 0 0 $5
+System::Call 'GDI32::SelectObject(pr3,pr5)p.s'
+StrLen $5 $4
+System::Call 'GDI32::GetTextExtentPoint32(pr3,tr4,ir5,@r5)'
+System::Call '*$5(i.r6)'
+System::Call 'GDI32::SelectObject(pr3,ps)'
+System::Call 'USER32::ReleaseDC(pr1,pr3)'
+System::Call 'USER32::GetWindowRect(pr1,@r3)'
+System::Call '*$3(i,i.r5,i,i.r7)'
+IntOp $7 $7 - $5
+IntOp $6 $6 + 4 ; Padding for focus rect
+System::Call 'USER32::SetWindowPos(pr1,p,i,i,ir6,ir7,i0x16)'
+FunctionEnd
+
+Function AdjustLinkPair
+Pop $2 ; Label
+SetCtlColors $2 00000000 ${CB_PAGE}
+Call ConfigureLink
+FunctionEnd
+
+Function SplitPipe
+Exch $0
+Push $1
+Push $2
+StrCpy $2 0
+findSep:
+StrCpy $1 $0 1 $2
+IntOp $2 $2 + 1
+StrCmp $1 "" +2
+StrCmp $1 "|" "" findSep
+StrCpy $1 $0 "" $2
+IntOp $2 $2 - 1
+StrCpy $0 $0 $2
+Pop $2
+Exch $1
+Exch
+Exch $0
+FunctionEnd
+
+Section
+SectionEnd
+
+Page Custom PageCreate PageLeave
+!pragma warning disable 8000 ; Page instfiles not used
\ No newline at end of file
diff --git a/Examples/UltraModernUI/NSISUltraModernUI.nsi b/Examples/UltraModernUI/NSISUltraModernUI.nsi
index fcd5de9..ae3b7ef 100644
--- a/Examples/UltraModernUI/NSISUltraModernUI.nsi
+++ b/Examples/UltraModernUI/NSISUltraModernUI.nsi
@@ -1,5 +1,5 @@
; o-----------------------------------------------o
-; | NSIS 3.03 + Ultra-Modern User Interface 2.0b4 |
+; | NSIS 3.03 + Ultra-Modern User Interface 2.0b5 |
; (-----------------------------------------------)
; | Installer script. |
; | Written by SyperPat |
@@ -11,11 +11,11 @@
!define /date NOW "%Y-%m-%d"
!define NAME "UltraModernUI"
- !define UMUI_VERSION "2.0b4"
+ !define UMUI_VERSION "2.0b5"
!define UMUI_VERBUILD "2.0_${NOW}"
!define VER_MAJOR 3
- !define VER_MINOR 03
+ !define VER_MINOR 04
!define VER_REVISION 0
!define VER_BUILD 0
!define VER_REV_STR ""
@@ -30,8 +30,8 @@
VIAddVersionKey ProductName "NSIS (Nullsoft Scriptable Install System) with the Ultra-Modern User Interface."
VIAddVersionKey ProductVersion "${UMUI_VERSION}"
VIAddVersionKey Comments "This package also include some plugins used by UMUI to extend the possibilities of NSIS."
- VIAddVersionKey LegalTrademarks "NSIS and UltraModernUI are released under the zlib/libpng license: http://nsis.sf.net/License"
- VIAddVersionKey LegalCopyright "Copyright © 2005-2018 SuperPat"
+ VIAddVersionKey LegalTrademarks "NSIS and Ultra-Modern UI are released under the zlib/libpng license: http://nsis.sf.net/License"
+ VIAddVersionKey LegalCopyright "Copyright © 2005-2019 SuperPat"
VIAddVersionKey FileDescription "NSIS (Nullsoft Scriptable Install System) with the Ultra-Modern User Interface."
VIAddVersionKey FileVersion "${UMUI_VERBUILD}"
@@ -40,7 +40,7 @@
;Configuration
; The name of the installer
- Name "NSIS ${VERSION} and ${NAME} ${UMUI_VERSION}"
+ Name "NSIS ${VERSION} and Ultra-Modern UI ${UMUI_VERSION}"
; The file to write
OutFile "NSIS_${VERSION}_UltraModernUI_${UMUI_VERSION}.exe"
@@ -60,7 +60,7 @@
;--------------------------------
-;Include UltraModernUI between others
+;Include Ultra-Modern UI between others
!include "UMUI.nsh"
!include "Sections.nsh"
@@ -122,9 +122,6 @@
;--------------------------------
;Pages
- Var STARTMENU_FOLDER
-
-
!insertmacro UMUI_PAGE_MULTILANGUAGE
!define UMUI_MAINTENANCEPAGE_MODIFY
@@ -159,11 +156,8 @@
!insertmacro MUI_PAGE_DIRECTORY
- !define UMUI_ALTERNATIVESTARTMENUPAGE_SETSHELLVARCONTEXT
- !define UMUI_ALTERNATIVESTARTMENUPAGE_USE_TREEVIEW
- !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "StartMenuFolder"
- !define MUI_STARTMENUPAGE_DEFAULTFOLDER "NSIS"
- !insertmacro UMUI_PAGE_ALTERNATIVESTARTMENU Application $STARTMENU_FOLDER
+ !define UMUI_ADDITIONALTASKS_REGISTRY_VALUENAME "UMUI_Tasks"
+ !insertmacro UMUI_PAGE_ADDITIONALTASKS addtasks_function
!define UMUI_CONFIRMPAGE_TEXTBOX confirm_function
!insertmacro UMUI_PAGE_CONFIRM
@@ -171,11 +165,11 @@
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_SHOWREADME "${NSISDIR}\Docs\UltraModernUI\Readme.html"
- !define MUI_FINISHPAGE_LINK "UltraModernUI Home Page"
+ !define MUI_FINISHPAGE_LINK "Ultra-Modern UI Home Page"
!define MUI_FINISHPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro MUI_PAGE_FINISH
- !define UMUI_ABORTPAGE_LINK "UltraModernUI Home Page"
+ !define UMUI_ABORTPAGE_LINK "Ultra-Modern UI Home Page"
!define UMUI_ABORTPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro UMUI_PAGE_ABORT
@@ -194,11 +188,11 @@
!insertmacro MUI_UNPAGE_INSTFILES
- !define MUI_FINISHPAGE_LINK "UltraModernUI Home Page"
+ !define MUI_FINISHPAGE_LINK "Ultra-Modern UI Home Page"
!define MUI_FINISHPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro MUI_UNPAGE_FINISH
- !define UMUI_ABORTPAGE_LINK "UltraModernUI Home Page"
+ !define UMUI_ABORTPAGE_LINK "Ultra-Modern UI Home Page"
!define UMUI_ABORTPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro UMUI_UNPAGE_ABORT
@@ -278,8 +272,9 @@
!insertmacro MUI_LANGUAGE "Tatar"
; Other unicode only untranslated languages but usable even so.
- !insertmacro MUI_LANGUAGE "Georgian"
!insertmacro MUI_LANGUAGE "Armenian"
+ !insertmacro MUI_LANGUAGE "Georgian"
+ !insertmacro MUI_LANGUAGE "Hindi"
;--------------------------------
@@ -321,10 +316,15 @@ Section "NSIS Core Files (required)" SecCore
File ..\..\COPYING
File ..\..\NSIS.chm
!pragma verifychm "..\..\NSIS.chm"
- File ..\..\NSIS.exe
- !if /FileExists "..\..\NSIS.exe.manifest"
- File "..\..\NSIS.exe.manifest"
+ !if /FileExists "..\..\NSIS.exe"
+ !if /FileExists "..\..\NSIS.exe.manifest"
+ File "..\..\NSIS.exe.manifest"
+ !endif
+ !else
+ !define NO_NSISMENU_HTML 1
+ !makensis '-v2 "NSISMenu.nsi" "-XOutFile ..\..\NSIS.exe"' = 0
!endif
+ File ..\..\NSIS.exe
SetOutPath $INSTDIR\Bin
File ..\..\Bin\makensis.exe
@@ -381,12 +381,14 @@ Section "NSIS Core Files (required)" SecCore
SetOutPath $INSTDIR\Docs\makensisw
File ..\..\Docs\makensisw\*.txt
- SetOutPath $INSTDIR\Menu
- File ..\..\Menu\*.html
- SetOutPath $INSTDIR\Menu\images
- File ..\..\Menu\images\header.gif
- File ..\..\Menu\images\line.gif
- File ..\..\Menu\images\site.gif
+ !ifndef NO_NSISMENU_HTML
+ SetOutPath $INSTDIR\Menu
+ File ..\..\Menu\*.html
+ SetOutPath $INSTDIR\Menu\images
+ File ..\..\Menu\images\header.gif
+ File ..\..\Menu\images\line.gif
+ File ..\..\Menu\images\site.gif
+ !endif
Delete $INSTDIR\makensis.htm
Delete $INSTDIR\Docs\*.html
@@ -394,8 +396,10 @@ Section "NSIS Core Files (required)" SecCore
RMDir $INSTDIR\Docs
SetOutPath $INSTDIR\Bin
- File ..\..\Bin\LibraryLocal.exe
- !if ${VER_MINOR} > 1
+ !if /FileExists "..\..\Bin\LibraryLocal.exe"
+ File ..\..\Bin\LibraryLocal.exe
+ !endif
+ !if /FileExists "..\..\Bin\RegTool-x86.bin"
File ..\..\Bin\RegTool-x86.bin
!else
File ..\..\Bin\RegTool.bin
@@ -441,15 +445,6 @@ Section "NSIS Core Files (required)" SecCore
System::Call 'Shell32::SHChangeNotify(i ${SHCNE_ASSOCCHANGED}, i ${SHCNF_IDLIST}, i 0, i 0)'
- SetOutPath "$INSTDIR\"
- CreateShortCut "$DESKTOP\NSIS.lnk" "$INSTDIR\NSIS.exe"
-
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\"
- SetOutPath "$INSTDIR\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\NSIS.lnk" "$INSTDIR\NSIS.exe"
- !insertmacro MUI_STARTMENU_WRITE_END
-
SectionEnd
Section "Script Examples" SecExample
@@ -487,6 +482,8 @@ Section "Script Examples" SecExample
File ..\..\Examples\WordFunc.ini
File ..\..\Examples\WordFuncTest.nsi
File ..\..\Examples\Memento.nsi
+ File /nonfatal ..\..\Examples\unicode.nsi
+ File /nonfatal ..\..\Examples\NSISMenu.nsi
SetOutPath $INSTDIR\Examples\Plugin
File ..\..\Examples\Plugin\exdll.c
@@ -619,8 +616,6 @@ Section "Graphics" SecGraphics
SectionIn 2 3
- Delete $INSTDIR\Contrib\Icons\*.ico
- Delete $INSTDIR\Contrib\Icons\*.bmp
RMDir $INSTDIR\Contrib\Icons
SetOutPath $INSTDIR\Contrib\Graphics
File /r "..\..\Contrib\Graphics\*.ico"
@@ -799,11 +794,6 @@ Section "InstallOptions plugin" SecPluginsIO
File ..\..\Examples\InstallOptions\testlink.nsi
File ..\..\Examples\InstallOptions\testnotify.ini
File ..\..\Examples\InstallOptions\testnotify.nsi
-
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\InstallOptions Readme.lnk" "$INSTDIR\Docs\InstallOptions\Readme.html"
- !insertmacro MUI_STARTMENU_WRITE_END
SectionEnd
Section "Math plugin" SecPluginsMath
@@ -1027,14 +1017,16 @@ Section -post
!endif
WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "UninstallString" "$INSTDIR\uninst-nsis.exe"
+ ;WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "QuietUninstallString" '"$INSTDIR\uninst-nsis.exe" /S' ; Ideally WACK would use this
WriteRegExpandStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "InstallLocation" "$INSTDIR"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayName" "Nullsoft Install System"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayIcon" "$INSTDIR\NSIS.exe,0"
-!ifdef VER_MAJOR & VER_MINOR & VER_REVISION
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "DisplayVersion" "${VERSION}"
- WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMajor" "${VER_MAJOR}"
- WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMinor" "${VER_MINOR}.${VER_REVISION}"
+!ifdef VER_MAJOR & VER_MINOR & VER_REVISION
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMajor" "${VER_MAJOR}" ; Required by WACK
+ WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "VersionMinor" "${VER_MINOR}.${VER_REVISION}" ; Required by WACK
!endif
+ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "Publisher" "Nullsoft and Contributors" ; Required by WACK
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "URLInfoAbout" "http://nsis.sourceforge.net/"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "HelpLink" "http://nsis.sourceforge.net/Support"
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS" "NoModify" "1"
@@ -1057,13 +1049,19 @@ SectionGroup /e "NSIS Ultra-Modern User Interface ${UMUI_VERSION}" SecUMUIG
Section "NSIS Ultra-Modern User Interface Core Files (required)" SecUMUI
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI..."
+ DetailPrint "Installing Ultra-Modern UI..."
SetDetailsPrint listonly
SectionIn RO
SectionIn 1 2 3
+ SetOutPath "$INSTDIR\"
+ !if ! /FileExists "..\..\NSISUMUI.exe"
+ !makensis '-v2 "NSISUMUIMenu.nsi" "-XOutFile ..\..\NSISUMUI.exe"' = 0
+ !endif
+ File ..\..\NSISUMUI.exe
+
SetOutPath "$INSTDIR\Contrib\UltraModernUI\"
File "..\..\Contrib\UltraModernUI\UMUI.nsh"
SetOutPath "$INSTDIR\Contrib\UltraModernUI\Ini"
@@ -1100,11 +1098,24 @@ Section "NSIS Ultra-Modern User Interface Core Files (required)" SecUMUI
File "..\..\Include\UMUI.nsh"
File "..\..\Include\MUIEx.nsh"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\UltraModernUI Readme.lnk" "$INSTDIR\Docs\UltraModernUI\Readme.html"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall UltraModernUI.lnk" "$INSTDIR\UninstallUMUI.exe"
- !insertmacro MUI_STARTMENU_WRITE_END
+
+ ;CreateShortCuts
+ ; only if all user is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED ALL
+ SetShellVarContext all
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+ ; only if current user is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED CURRENT
+ SetShellVarContext current
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+
+ SetOutPath "$INSTDIR\"
+ CreateShortCut "$SMPROGRAMS\NSIS.lnk" "$INSTDIR\NSISUMUI.exe"
+
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED DESKTOP
+ CreateShortCut "$DESKTOP\NSIS.lnk" "$INSTDIR\NSISUMUI.exe"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+
;Create uninstaller
WriteUninstaller "$INSTDIR\UninstallUMUI.exe"
@@ -1119,13 +1130,12 @@ Section "NSIS Ultra-Modern User Interface Core Files (required)" SecUMUI
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "ModifyPath" '"$INSTDIR\UninstallUMUI.exe" /modify'
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "DisplayVersion" "${UMUI_VERSION}"
-
SectionEnd
-Section "Skins for UltraModernUI" SecSkins
+Section "Skins for Ultra-Modern UI" SecSkins
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Skins..."
+ DetailPrint "Installing Ultra-Modern UI | Skins..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -1198,10 +1208,10 @@ Section "Skins for UltraModernUI" SecSkins
SectionEnd
-Section "BackGround Skins for UltraModernUI" SecBGSkins
+Section "BackGround Skins for Ultra-Modern UI" SecBGSkins
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | BackGround Skins..."
+ DetailPrint "Installing Ultra-Modern UI | BackGround Skins..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -1286,7 +1296,7 @@ SectionGroup /e "Plugins" SecGroupPlugins
Section "SkinnedControls plugin version 1.4" SecSkinnedControls
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | SkinnedControls..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | SkinnedControls..."
SetDetailsPrint listonly
SectionIn RO
@@ -1315,17 +1325,12 @@ SectionGroup /e "Plugins" SecGroupPlugins
File "..\..\Docs\SkinnedControls\images\*.png"
File "..\..\Docs\SkinnedControls\images\*.gif"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\SkinnedControls Readme.lnk" "$INSTDIR\Docs\SkinnedControls\Readme.html"
- !insertmacro MUI_STARTMENU_WRITE_END
-
SectionEnd
Section "SkinnedControls plugin Sources Code" SecSkinnedControlsSources
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | SkinnedControls Soucres Code..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | SkinnedControls Soucres Code..."
SetDetailsPrint listonly
SectionIn 3
@@ -1347,7 +1352,7 @@ SectionGroup /e "Plugins" SecGroupPlugins
Section "InstallOptionsEx plugin version 2.4.5 beta 3" SecInstallOptionsEx
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | InstallOptionsEx..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | InstallOptionsEx..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -1365,17 +1370,12 @@ SectionGroup /e "Plugins" SecGroupPlugins
SetOutPath $INSTDIR\Docs\InstallOptionsEx
File "..\..\Docs\InstallOptionsEx\*.*"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\InstallOptionsEx Readme.lnk" "$INSTDIR\Docs\InstallOptionsEx\Readme.html"
- !insertmacro MUI_STARTMENU_WRITE_END
-
SectionEnd
Section "InstallOptionsEx plugin Sources Code" SecInstallOptionsExSources
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | InstallOptionsEx Soucres Code..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | InstallOptionsEx Soucres Code..."
SetDetailsPrint listonly
SectionIn 3
@@ -1396,7 +1396,7 @@ SectionGroup /e "Plugins" SecGroupPlugins
Section "nsArray plugin version 1.1.1.7" SecnsArray
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | nsArray..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | nsArray..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -1416,17 +1416,12 @@ SectionGroup /e "Plugins" SecGroupPlugins
SetOutPath $INSTDIR\Examples\nsArray
File "..\nsArray\*.nsi"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\nsArray Readme.lnk" "$INSTDIR\Docs\nsArray\Readme.txt"
- !insertmacro MUI_STARTMENU_WRITE_END
-
SectionEnd
Section "nsArray plugin Sources Code" SecnsArraySources
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | nsArray Soucres Code..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | nsArray Soucres Code..."
SetDetailsPrint listonly
SectionIn 3
@@ -1489,7 +1484,6 @@ SectionGroupEnd
RMDir "$INSTDIR\Docs\NSISArray"
Delete "$INSTDIR\Examples\NSISArray\*.nsi"
RMDir "$INSTDIR\Examples\NSISArray"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\NSISArray Readme.lnk"
noNSISArray:
Delete "$INSTDIR\Include\UMUI.nsh"
@@ -1635,6 +1629,7 @@ SectionGroupEnd
RMDir "$INSTDIR\Contrib\Graphics\UltraModernUI\"
RMDir "$INSTDIR\Contrib\Graphics"
+ Delete "$INSTDIR\NSISUMUI.exe"
Delete "$INSTDIR\UninstallUMUI.exe"
!macroend
@@ -1643,24 +1638,18 @@ SectionGroupEnd
Section Uninstall
SetDetailsPrint textonly
- DetailPrint "Uninstalling NSIS and UltraModernUI..."
+ DetailPrint "Uninstalling NSIS and Ultra-Modern UI..."
SetDetailsPrint listonly
- !insertmacro removeUMUIfiles
-
- !insertmacro MUI_STARTMENU_GETFOLDER Application $STARTMENU_FOLDER
+ IfFileExists $INSTDIR\makensis.exe nsis_installed
+ MessageBox MB_YESNO "It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES nsis_installed
+ Abort "Uninstall aborted by user"
+ nsis_installed:
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\UltraModernUI Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\SkinnedControls Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\nsArray Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\InstallOptionsEx Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\Uninstall UltraModernUI.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall UltraModernUI.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\NSIS.lnk"
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER"
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER\.."
+ !insertmacro removeUMUIfiles
Delete "$SMPROGRAMS\NSIS.lnk"
+ Delete "$DESKTOP\NSIS.lnk"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}"
@@ -1669,7 +1658,7 @@ Section Uninstall
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_SetupType" ;"${UMUI_SETUPTYPEPAGE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_InstType" ;"${UMUI_COMPONENTSPAGE_INSTTYPE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_Components" ;"${UMUI_COMPONENTSPAGE_REGISTRY_VALUENAME}"
- DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_Application_REGISTRY_VALUENAME}" ;"${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}" this define was removed after the inclusion of the (ALTERNATIVE)STARTMENU_PAGE
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_ADDITIONALTASKS_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERSION_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERBUILD_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_INSTALLERFULLPATH_REGISTRY_VALUENAME}"
@@ -1677,18 +1666,10 @@ Section Uninstall
DeleteRegKey /ifempty ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}"
- ;Delete NSIS
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\InstallOptions Readme.lnk"
-
SetDetailsPrint textonly
DetailPrint "Uninstalling NSIS Development Shell Extensions..."
SetDetailsPrint listonly
- IfFileExists $INSTDIR\makensis.exe nsis_installed
- MessageBox MB_YESNO "It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES nsis_installed
- Abort "Uninstall aborted by user"
- nsis_installed:
-
SetDetailsPrint textonly
DetailPrint "Deleting Registry Keys..."
SetDetailsPrint listonly
@@ -1713,8 +1694,6 @@ Section Uninstall
DetailPrint "Deleting Files..."
SetDetailsPrint listonly
- RMDir /r "$SMPROGRAMS\$STARTMENU_FOLDER"
- Delete $DESKTOP\NSIS.lnk
Delete $INSTDIR\makensis.exe
Delete $INSTDIR\makensisw.exe
Delete $INSTDIR\NSIS.exe
@@ -1815,12 +1794,12 @@ SectionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SecUMUI} "The Utra-Modern User Interface for NSIS."
!insertmacro MUI_DESCRIPTION_TEXT ${SecSkins} "A lot of skins for the Utra-Modern User Interface."
!insertmacro MUI_DESCRIPTION_TEXT ${SecBGSkins} "A lot of background skins for the Utra-Modern User Interface."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecGroupPlugins} "Install very useful NSIS plugins used by UltraModernUI to extend the possibilities of NSIS."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecGroupPlugins} "Install very useful NSIS plugins used by Ultra-Modern UI to extend the possibilities of NSIS."
!insertmacro MUI_DESCRIPTION_TEXT ${SecSkinnedControls} "This NSIS plugin, writing by SuperPat, allow you to skin all buttons and scrollbars of your installer.$\n$\rIt's used by default with the UltraModern style."
!insertmacro MUI_DESCRIPTION_TEXT ${SecSkinnedControlsSources} "The Sources code of the SkinnedControls plugin."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecInstallOptionsEx} "This NSIS plugin, writing by deguix and SuperPat is an expanded version of the original InstallOptions plugin containing a lot of new features.$\nThis plugin is supported natively by UltraModernUI."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecInstallOptionsEx} "This NSIS plugin, writing by deguix and SuperPat is an expanded version of the original InstallOptions plugin containing a lot of new features.$\nThis plugin is supported natively by Ultra-Modern UI."
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstallOptionsExSources} "The Sources code of the InstallOptionsEx plugin."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecnsArray} "This NSIS plugin, writing by Afrow UK, add the support of the array in NSIS. It comes with plenty of functions for managing your arrays.$\nThis plugin is used with the AlternativeStartMenu and MultiLanguages pages of UltraModernUI."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecnsArray} "This NSIS plugin, writing by Afrow UK, add the support of the array in NSIS. It comes with plenty of functions for managing your arrays.$\nThis plugin is used with the AlternativeStartMenu and MultiLanguages pages of Ultra-Modern UI."
!insertmacro MUI_DESCRIPTION_TEXT ${SecnsArraySources} "The Sources code of the nsArray plugin."
!insertmacro MUI_FUNCTION_DESCRIPTION_END
@@ -1828,6 +1807,34 @@ SectionEnd
;--------------------------------
; Pages functions
+Function addtasks_function
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_LABEL "$(UMUI_TEXT_ADDITIONALTASKS_ADDITIONAL_ICONS)"
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK DESKTOP 1 "$(UMUI_TEXT_ADDITIONALTASKS_CREATE_DESKTOP_ICON)"
+
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_LINE
+
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_LABEL "$(UMUI_TEXT_SHELL_VAR_CONTEXT)"
+
+ UserInfo::GetAccountType
+ Pop $R0
+ StrCmp $R0 "Guest" 0 notLimited
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ Goto endShellVarContext
+ notLimited:
+ !insertmacro UMUI_GETSHELLVARCONTEXT
+ Pop $R0
+ StrCmp $R0 "current" 0 allShellVarContext
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO ALL 0 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ Goto endShellVarContext
+ allShellVarContext:
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO ALL 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 0 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ endShellVarContext:
+ ClearErrors
+
+FunctionEnd
+
!macro confirm_addline section
SectionGetFlags ${Sec${section}} $1
@@ -1845,28 +1852,6 @@ Function confirm_function
!insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $INSTDIR"
!insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
- ;Only if StartMenu Folder is selected
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_INSTCONFIRM_TEXTBOX_START_MENU_FOLDER)"
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $STARTMENU_FOLDER"
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
-
- ;ShellVarContext
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_SHELL_VAR_CONTEXT)"
- !insertmacro UMUI_GETSHELLVARCONTEXT
- Pop $1
- StrCmp $1 "all" 0 current
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
- Goto endsvc
- current:
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
- endsvc:
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
-
- !insertmacro MUI_STARTMENU_WRITE_END
-
-
;For the setuptype page
!insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_SETUPTYPE_TITLE):"
!insertmacro UMUI_GET_CHOOSEN_SETUP_TYPE_TEXT
@@ -1914,21 +1899,126 @@ Function confirm_function
!insertmacro confirm_addline nsArray
!insertmacro confirm_addline nsArraySources
+
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_ADDITIONALTASKS_TITLE):"
+ ;Only if one at least of additional icon check is checked
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED DESKTOP
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_ADDITIONALTASKS_ADDITIONAL_ICONS)"
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_ADDITIONALTASKS_CREATE_DESKTOP_ICON)"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+ ;ShellVarContext
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT)"
+ ; only if for all user radio is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED ALL
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+ ; only if for current user is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED CURRENT
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+
FunctionEnd
Function preuninstall_function
IfFileExists $INSTDIR\makensis.exe nsis_installed
MessageBox MB_YESNO "It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES nsis_installed
- Abort "Uninstall aborted by user"
+ Abort "Install aborted by user"
nsis_installed:
SetDetailsPrint textonly
- DetailPrint "Uninstalling NSIS and UltraModernUI..."
+ DetailPrint "Uninstalling NSIS and Ultra-Modern UI..."
SetDetailsPrint listonly
!insertmacro removeUMUIfiles
+ Delete "$SMPROGRAMS\NSIS.lnk"
+ Delete "$DESKTOP\NSIS.lnk"
+
+ ClearErrors
+ ReadRegStr $R0 ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_StartMenuFolder"
+ IfErrors checkNext 0
+ StrCpy $R1 $R0 "" -8 ; copy last height chars
+ StrCmpS $R1 "\Contrib" 0 removeShortcuts
+ StrCpy $R0 $R0 -8 ; remove \Contrib
+ Goto removeShortcuts
+ checkNext:
+ ReadRegStr $R0 ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "StartMenuFolder"
+ IfErrors noStartMenu removeShortcuts
+ removeShortcuts:
+ SetShellVarContext all
+ Delete "$SMPROGRAMS\$R0\Contrib\zip2exe (Create SFX).lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\AdvSplash Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Banner Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\BgImage Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptions Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\MakeNSISw Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Math Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Modern UI 2 Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Modern UI Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsDialogs Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsExec Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\NSISdl Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Splash Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\StartMenu Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\System Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\VPatch Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\NSISArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\UltraModernUI Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\SkinnedControls Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptionsEx Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptions Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Uninstall UltraModernUI.lnk"
+ RMDir "$SMPROGRAMS\$R0\Contrib"
+ Delete "$SMPROGRAMS\$R0\Uninstall NSIS.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Menu.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Examples Directory.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Documentation.lnk"
+ Delete "$SMPROGRAMS\$R0\MakeNSISW (Compiler GUI).lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Site.url"
+ Delete "$SMPROGRAMS\$R0\Uninstall UltraModernUI.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS.lnk"
+ RMDir "$SMPROGRAMS\$R0"
+
+ SetShellVarContext current
+ Delete "$SMPROGRAMS\$R0\Contrib\zip2exe (Create SFX).lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\AdvSplash Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Banner Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\BgImage Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptions Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\MakeNSISw Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Math Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Modern UI 2 Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Modern UI Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsDialogs Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsExec Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\NSISdl Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Splash Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\StartMenu Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\System Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\VPatch Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\NSISArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\UltraModernUI Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\SkinnedControls Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptionsEx Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptions Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Uninstall UltraModernUI.lnk"
+ RMDir "$SMPROGRAMS\$R0\Contrib"
+ Delete "$SMPROGRAMS\$R0\Uninstall NSIS.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Menu.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Examples Directory.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Documentation.lnk"
+ Delete "$SMPROGRAMS\$R0\MakeNSISW (Compiler GUI).lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS Site.url"
+ Delete "$SMPROGRAMS\$R0\Uninstall UltraModernUI.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS.lnk"
+ RMDir "$SMPROGRAMS\$R0"
+ noStartMenu:
+
+
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_SHELLVARCONTEXT_REGISTRY_VALUENAME}"
@@ -1936,55 +2026,16 @@ Function preuninstall_function
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_SetupType" ;"${UMUI_SETUPTYPEPAGE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_InstType" ;"${UMUI_COMPONENTSPAGE_INSTTYPE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_Components" ;"${UMUI_COMPONENTSPAGE_REGISTRY_VALUENAME}"
- DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_Application_REGISTRY_VALUENAME}" ;"${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}" this define was removed after the inclusion of the (ALTERNATIVE)STARTMENU_PAGE
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_ADDITIONALTASKS_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERSION_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERBUILD_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_INSTALLERFULLPATH_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_UNINSTALLPATH_REGISTRY_VALUENAME}"
+ ; No more used registry keys
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_StartMenuFolder"
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "StartMenuFolder"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\UltraModernUI Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\SkinnedControls Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\nsArray Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\InstallOptionsEx Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\Uninstall UltraModernUI.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall UltraModernUI.lnk"
-
-
- ;Delete NSIS
-
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall NSIS.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\NSIS Menu.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\NSIS Examples Directory.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\NSIS Documentation.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\MakeNSISW (Compiler GUI).lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\NSIS Site.url"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\NSIS.lnk"
-
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\zip2exe (Create SFX).lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\AdvSplash Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\Banner Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\BgImage Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\InstallOptions Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\MakeNSISw Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\Math Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\Modern UI 2 Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\Modern UI Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\nsDialogs Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\nsExec Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\NSISdl Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\Splash Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\StartMenu Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\System Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\VPatch Readme.lnk"
-
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib"
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER"
- !insertmacro MUI_STARTMENU_WRITE_END
-
- Delete "$SMPROGRAMS\NSIS.lnk"
-
ReadRegStr $R0 HKCR ".nsi" ""
StrCmp $R0 "NSIS.Script" 0 +2
DeleteRegKey HKCR ".nsi"
@@ -2000,7 +2051,6 @@ Function preuninstall_function
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\NSIS"
- Delete $DESKTOP\NSIS.lnk
Delete $INSTDIR\makensis.exe
Delete $INSTDIR\makensisw.exe
Delete $INSTDIR\NSIS.exe
@@ -2008,8 +2058,6 @@ Function preuninstall_function
Delete $INSTDIR\license.txt
Delete $INSTDIR\COPYING
Delete $INSTDIR\uninst-nsis.exe
- Delete $INSTDIR\nsisconf.nsi
- Delete $INSTDIR\nsisconf.nsh
Delete $INSTDIR\NSIS.chm
RMDir /r $INSTDIR\Stubs
@@ -2193,6 +2241,7 @@ Function .onInit
!insertmacro UMUI_MULTILANG_GET
; Change default InstallDir to C:\ProgramData on Windows Vista and more
+ ClearErrors
IfFileExists $INSTDIR endCheckVersion 0
ReadRegStr $0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
IfErrors endCheckVersion 0 ; If not WinNT
@@ -2200,7 +2249,6 @@ Function .onInit
SetShellVarContext all
StrCpy $INSTDIR "$APPDATA\NSIS"
endCheckVersion:
- ClearErrors
FunctionEnd
diff --git a/Examples/UltraModernUI/UltraModernUI.nsi b/Examples/UltraModernUI/UltraModernUI.nsi
index 539f928..01fe498 100644
--- a/Examples/UltraModernUI/UltraModernUI.nsi
+++ b/Examples/UltraModernUI/UltraModernUI.nsi
@@ -1,5 +1,5 @@
; o----------------------------------------o
-; | NSIS Ultra-Modern User Interface 2.0b4 |
+; | NSIS Ultra-Modern User Interface 2.0b5 |
; (----------------------------------------)
; | Installer script. |
; | Written by SyperPat |
@@ -13,14 +13,14 @@
; For language file selection
!define VER_MAJOR 3
- !define VER_MINOR 03
+ !define VER_MINOR 04
!define VER_REV_STR ""
!if "${NSIS_VERSION}" != "v${VER_MAJOR}.${VER_MINOR}${VER_REV_STR}"
!error "VER_MAJOR, VER_MINOR and VER_REV_STR defines does not match the current NSIS version: ${NSIS_VERSION}"
!endif
- !define UMUI_VERSION "2.0b4"
+ !define UMUI_VERSION "2.0b5"
!define UMUI_VERBUILD "2.0_${NOW}"
!define /date VERIPV "200.%Y.%m.%d"
@@ -28,8 +28,8 @@
VIAddVersionKey ProductName "Ultra-Modern User Interface for NSIS (Nullsoft Scriptable Install System) version 3 x86 edition."
VIAddVersionKey ProductVersion "${UMUI_VERSION}"
VIAddVersionKey Comments "A new User Interface for NSIS with a style like the most recent installers. This package also include some plugins used by UMUI to extend the possibilities of NSIS."
- VIAddVersionKey LegalTrademarks "UltraModernUI is released under the zlib/libpng license: http://nsis.sf.net/License"
- VIAddVersionKey LegalCopyright "Copyright � 2005-2018 SuperPat"
+ VIAddVersionKey LegalTrademarks "Ultra-Modern UI is released under the zlib/libpng license: http://nsis.sf.net/License"
+ VIAddVersionKey LegalCopyright "Copyright © 2005-2019 SuperPat"
VIAddVersionKey FileDescription "Ultra-Modern User Interface for NSIS (Nullsoft Scriptable Install System) version 3 x86 edition."
VIAddVersionKey FileVersion "${UMUI_VERBUILD}"
@@ -58,7 +58,7 @@
;--------------------------------
-;Include UltraModernUI between others
+;Include Ultra-Modern UI between others
!include "UMUI.nsh"
@@ -116,9 +116,6 @@
;--------------------------------
;Pages
- Var STARTMENU_FOLDER
-
-
!insertmacro UMUI_PAGE_MULTILANGUAGE
!define UMUI_MAINTENANCEPAGE_MODIFY
@@ -151,11 +148,8 @@
!define UMUI_COMPONENTSPAGE_REGISTRY_VALUENAME "UMUI_Components"
!insertmacro MUI_PAGE_COMPONENTS
- !define UMUI_ALTERNATIVESTARTMENUPAGE_SETSHELLVARCONTEXT
- !define UMUI_ALTERNATIVESTARTMENUPAGE_USE_TREEVIEW
- !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "UMUI_StartMenuFolder"
- !define MUI_STARTMENUPAGE_DEFAULTFOLDER "NSIS\Contrib"
- !insertmacro UMUI_PAGE_ALTERNATIVESTARTMENU Application $STARTMENU_FOLDER
+ !define UMUI_ADDITIONALTASKS_REGISTRY_VALUENAME "UMUI_Tasks"
+ !insertmacro UMUI_PAGE_ADDITIONALTASKS addtasks_function
!define UMUI_CONFIRMPAGE_TEXTBOX confirm_function
!insertmacro UMUI_PAGE_CONFIRM
@@ -163,11 +157,11 @@
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_SHOWREADME "${NSISDIR}\Docs\UltraModernUI\Readme.html"
- !define MUI_FINISHPAGE_LINK "UltraModernUI Home Page"
+ !define MUI_FINISHPAGE_LINK "Ultra-Modern UI Home Page"
!define MUI_FINISHPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro MUI_PAGE_FINISH
- !define UMUI_ABORTPAGE_LINK "UltraModernUI Home Page"
+ !define UMUI_ABORTPAGE_LINK "Ultra-Modern UI Home Page"
!define UMUI_ABORTPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro UMUI_PAGE_ABORT
@@ -186,11 +180,11 @@
!insertmacro MUI_UNPAGE_INSTFILES
- !define MUI_FINISHPAGE_LINK "UltraModernUI Home Page"
+ !define MUI_FINISHPAGE_LINK "Ultra-Modern UI Home Page"
!define MUI_FINISHPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro MUI_UNPAGE_FINISH
- !define UMUI_ABORTPAGE_LINK "UltraModernUI Home Page"
+ !define UMUI_ABORTPAGE_LINK "Ultra-Modern UI Home Page"
!define UMUI_ABORTPAGE_LINK_LOCATION "http://ultramodernui.sourceforge.net/"
!insertmacro UMUI_UNPAGE_ABORT
@@ -271,8 +265,9 @@
!insertmacro MUI_LANGUAGE "Tatar"
; Other unicode only untranslated languages but usable even so.
- !insertmacro MUI_LANGUAGE "Georgian"
!insertmacro MUI_LANGUAGE "Armenian"
+ !insertmacro MUI_LANGUAGE "Georgian"
+ !insertmacro MUI_LANGUAGE "Hindi"
*/
;--------------------------------
@@ -289,13 +284,20 @@ InstType "$(UMUI_TEXT_SETUPTYPE_COMPLETE_TITLE)"
Section "$(^NameDA)" SecUMUI
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI..."
+ DetailPrint "Installing Ultra-Modern UI..."
SetDetailsPrint listonly
SectionIn RO
SectionIn 1 2 3
+ SetOutPath "$INSTDIR"
+ !if ! /FileExists "..\..\NSISUMUI.exe"
+ !define NO_NSISMENU_HTML 1
+ !makensis '-v2 "NSISUMUIMenu.nsi" "-XOutFile ..\..\NSISUMUI.exe"' = 0
+ !endif
+ File ..\..\NSISUMUI.exe
+
SetOutPath "$INSTDIR\Contrib\UltraModernUI\"
File "..\..\Contrib\UltraModernUI\UMUI.nsh"
SetOutPath "$INSTDIR\Contrib\UltraModernUI\Ini"
@@ -330,11 +332,24 @@ Section "$(^NameDA)" SecUMUI
File "..\..\Include\UMUI.nsh"
File "..\..\Include\MUIEx.nsh"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\UltraModernUI Readme.lnk" "$INSTDIR\Docs\UltraModernUI\Readme.html"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall UltraModernUI.lnk" "$INSTDIR\UninstallUMUI.exe"
- !insertmacro MUI_STARTMENU_WRITE_END
+
+ ;CreateShortCuts
+ ; only if all user is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED ALL
+ SetShellVarContext all
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+ ; only if current user is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED CURRENT
+ SetShellVarContext current
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+
+ SetOutPath "$INSTDIR\"
+ CreateShortCut "$SMPROGRAMS\NSIS.lnk" "$INSTDIR\NSISUMUI.exe"
+
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED DESKTOP
+ CreateShortCut "$DESKTOP\NSIS.lnk" "$INSTDIR\NSISUMUI.exe"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+
;Create uninstaller
WriteUninstaller "$INSTDIR\UninstallUMUI.exe"
@@ -351,10 +366,10 @@ Section "$(^NameDA)" SecUMUI
SectionEnd
-Section "Skins for UltraModernUI" SecSkins
+Section "Skins for Ultra-Modern UI" SecSkins
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Skins..."
+ DetailPrint "Installing Ultra-Modern UI | Skins..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -427,10 +442,10 @@ Section "Skins for UltraModernUI" SecSkins
SectionEnd
-Section "BackGround Skins for UltraModernUI" SecBGSkins
+Section "BackGround Skins for Ultra-Modern UI" SecBGSkins
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | BackGround Skins..."
+ DetailPrint "Installing Ultra-Modern UI | BackGround Skins..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -515,7 +530,7 @@ SectionGroup /e "Plugins" SecGroupPlugins
Section "SkinnedControls plugin version 1.4" SecSkinnedControls
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | SkinnedControls..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | SkinnedControls..."
SetDetailsPrint listonly
SectionIn RO
@@ -544,18 +559,12 @@ SectionGroup /e "Plugins" SecGroupPlugins
File "..\..\Docs\SkinnedControls\images\*.png"
File "..\..\Docs\SkinnedControls\images\*.gif"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\"
-
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\SkinnedControls Readme.lnk" "$INSTDIR\Docs\SkinnedControls\Readme.html"
- !insertmacro MUI_STARTMENU_WRITE_END
-
SectionEnd
Section "SkinnedControls plugin Sources Code" SecSkinnedControlsSources
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | SkinnedControls Soucres Code..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | SkinnedControls Soucres Code..."
SetDetailsPrint listonly
SectionIn 3
@@ -577,7 +586,7 @@ SectionGroup /e "Plugins" SecGroupPlugins
Section "InstallOptionsEx plugin version 2.4.5 beta 3" SecInstallOptionsEx
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | InstallOptionsEx..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | InstallOptionsEx..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -595,17 +604,12 @@ SectionGroup /e "Plugins" SecGroupPlugins
SetOutPath $INSTDIR\Docs\InstallOptionsEx
File "..\..\Docs\InstallOptionsEx\*.*"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Contrib\InstallOptionsEx Readme.lnk" "$INSTDIR\Docs\InstallOptionsEx\Readme.html"
- !insertmacro MUI_STARTMENU_WRITE_END
-
SectionEnd
Section "InstallOptionsEx plugin Sources Code" SecInstallOptionsExSources
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | InstallOptionsEx Soucres Code..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | InstallOptionsEx Soucres Code..."
SetDetailsPrint listonly
SectionIn 3
@@ -626,7 +630,7 @@ SectionGroup /e "Plugins" SecGroupPlugins
Section "nsArray plugin version 1.1.1.7" SecnsArray
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | nsArray..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | nsArray..."
SetDetailsPrint listonly
SectionIn 2 3
@@ -646,17 +650,12 @@ SectionGroup /e "Plugins" SecGroupPlugins
SetOutPath $INSTDIR\Examples\nsArray
File "..\nsArray\*.nsi"
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
- SetOutPath "$SMPROGRAMS\$STARTMENU_FOLDER\"
- CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\nsArray Readme.lnk" "$INSTDIR\Docs\nsArray\Readme.txt"
- !insertmacro MUI_STARTMENU_WRITE_END
-
SectionEnd
Section "nsArray plugin Sources Code" SecnsArraySources
SetDetailsPrint textonly
- DetailPrint "Installing UltraModernUI | Plugins | nsArray Soucres Code..."
+ DetailPrint "Installing Ultra-Modern UI | Plugins | nsArray Soucres Code..."
SetDetailsPrint listonly
SectionIn 3
@@ -731,7 +730,6 @@ SectionEnd
RMDir "$INSTDIR\Docs\NSISArray"
Delete "$INSTDIR\Examples\NSISArray\*.nsi"
RMDir "$INSTDIR\Examples\NSISArray"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\NSISArray Readme.lnk"
noNSISArray:
Delete "$INSTDIR\Include\UMUI.nsh"
@@ -877,6 +875,7 @@ SectionEnd
RMDir "$INSTDIR\Contrib\Graphics\UltraModernUI\"
RMDir "$INSTDIR\Contrib\Graphics"
+ Delete "$INSTDIR\NSISUMUI.exe"
Delete "$INSTDIR\UninstallUMUI.exe"
!macroend
@@ -884,23 +883,33 @@ SectionEnd
Section Uninstall
SetDetailsPrint textonly
- DetailPrint "Uninstalling UltraModernUI..."
+ DetailPrint "Uninstalling Ultra-Modern UI..."
SetDetailsPrint listonly
+ IfFileExists $INSTDIR\NSISUMUI.exe umui_installed
+ MessageBox MB_YESNO "It does not appear that Ultra-Modern UI is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES umui_installed
+ Abort "Uninstall aborted by user"
+ umui_installed:
+
!insertmacro removeUMUIfiles
RMDir "$INSTDIR"
- !insertmacro MUI_STARTMENU_GETFOLDER Application $STARTMENU_FOLDER
-
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\UltraModernUI Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\SkinnedControls Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\nsArray Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\InstallOptionsEx Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall UltraModernUI.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\..\Uninstall UltraModernUI.lnk"
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER"
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER\.."
+ Delete "$SMPROGRAMS\NSIS.lnk"
+
+ StrCpy $R0 "nok"
+ IfFileExists "$DESKTOP\NSIS.lnk" "" dektopNotExists
+ Delete "$DESKTOP\NSIS.lnk"
+ StrCpy $R0 "ok"
+ dektopNotExists:
+
+ ; Recreate NSIS sortcuts
+ IfFileExists "$INSTDIR\NSIS.exe" "" nsisRemoved
+ SetOutPath "$INSTDIR\"
+ CreateShortCut "$SMPROGRAMS\NSIS.lnk" "$INSTDIR\NSIS.exe"
+ StrCmp $R0 "ok" "" nsisRemoved
+ CreateShortCut "$DESKTOP\NSIS.lnk" "$INSTDIR\NSIS.exe"
+ nsisRemoved:
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}"
@@ -909,7 +918,7 @@ Section Uninstall
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_SetupType" ;"${UMUI_SETUPTYPEPAGE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_InstType" ;"${UMUI_COMPONENTSPAGE_INSTTYPE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_Components" ;"${UMUI_COMPONENTSPAGE_REGISTRY_VALUENAME}"
- DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_Application_REGISTRY_VALUENAME}" ;"${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}" this define was removed after the inclusion of the (ALTERNATIVE)STARTMENU_PAGE
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_ADDITIONALTASKS_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERSION_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERBUILD_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_INSTALLERFULLPATH_REGISTRY_VALUENAME}"
@@ -940,12 +949,12 @@ SectionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${SecUMUI} "The Utra-Modern User Interface for NSIS."
!insertmacro MUI_DESCRIPTION_TEXT ${SecSkins} "A lot of skins for the Utra-Modern User Interface."
!insertmacro MUI_DESCRIPTION_TEXT ${SecBGSkins} "A lot of background skins for the Utra-Modern User Interface."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecGroupPlugins} "Install very useful NSIS plugins used by UltraModernUI to extend the possibilities of NSIS."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecGroupPlugins} "Install very useful NSIS plugins used by Ultra-Modern UI to extend the possibilities of NSIS."
!insertmacro MUI_DESCRIPTION_TEXT ${SecSkinnedControls} "This NSIS plugin, writing by SuperPat, allow you to skin all buttons and scrollbars of your installer.$\n$\rIt's used by default with the UltraModern style."
!insertmacro MUI_DESCRIPTION_TEXT ${SecSkinnedControlsSources} "The Sources code of the SkinnedControls plugin."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecInstallOptionsEx} "This NSIS plugin, writing by deguix and SuperPat is an expanded version of the original InstallOptions plugin containing a lot of new features.$\nThis plugin is supported natively by UltraModernUI."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecInstallOptionsEx} "This NSIS plugin, writing by deguix and SuperPat is an expanded version of the original InstallOptions plugin containing a lot of new features.$\nThis plugin is supported natively by Ultra-Modern UI."
!insertmacro MUI_DESCRIPTION_TEXT ${SecInstallOptionsExSources} "The Sources code of the InstallOptionsEx plugin."
- !insertmacro MUI_DESCRIPTION_TEXT ${SecnsArray} "This NSIS plugin, writing by Afrow UK, add the support of the array in NSIS. It comes with plenty of functions for managing your arrays.$\nThis plugin is used with the AlternativeStartMenu and MultiLanguages pages of UltraModernUI."
+ !insertmacro MUI_DESCRIPTION_TEXT ${SecnsArray} "This NSIS plugin, writing by Afrow UK, add the support of the array in NSIS. It comes with plenty of functions for managing your arrays.$\nThis plugin is used with the AlternativeStartMenu and MultiLanguages pages of Ultra-Modern UI."
!insertmacro MUI_DESCRIPTION_TEXT ${SecnsArraySources} "The Sources code of the nsArray plugin."
!insertmacro MUI_DESCRIPTION_TEXT ${SecNSISLanguagesFiles} "Update the NSIS language files of your installation by those of the version ${NSIS_VERSION} of NSIS.$\nThese language files contain a lot of translation fix and add the lastest translated languages."
!insertmacro MUI_FUNCTION_DESCRIPTION_END
@@ -954,6 +963,34 @@ SectionEnd
;--------------------------------
; Pages functions
+Function addtasks_function
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_LABEL "$(UMUI_TEXT_ADDITIONALTASKS_ADDITIONAL_ICONS)"
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK DESKTOP 1 "$(UMUI_TEXT_ADDITIONALTASKS_CREATE_DESKTOP_ICON)"
+
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_LINE
+
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_LABEL "$(UMUI_TEXT_SHELL_VAR_CONTEXT)"
+
+ UserInfo::GetAccountType
+ Pop $R0
+ StrCmp $R0 "Guest" 0 notLimited
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ Goto endShellVarContext
+ notLimited:
+ !insertmacro UMUI_GETSHELLVARCONTEXT
+ Pop $R0
+ StrCmp $R0 "current" 0 allShellVarContext
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO ALL 0 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ Goto endShellVarContext
+ allShellVarContext:
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO ALL 1 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
+ !insertmacro UMUI_ADDITIONALTASKSPAGE_ADD_TASK_RADIO CURRENT 0 "$(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ endShellVarContext:
+ ClearErrors
+
+FunctionEnd
+
!macro confirm_addline section
SectionGetFlags ${Sec${section}} $1
@@ -971,27 +1008,6 @@ Function confirm_function
!insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $INSTDIR"
!insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
- ;Only if StartMenu Folder is selected
- !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
-
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_INSTCONFIRM_TEXTBOX_START_MENU_FOLDER)"
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $STARTMENU_FOLDER"
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
-
- ;ShellVarContext
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_SHELL_VAR_CONTEXT)"
- !insertmacro UMUI_GETSHELLVARCONTEXT
- Pop $1
- StrCmp $1 "all" 0 current
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
- Goto endsvc
- current:
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
- endsvc:
- !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
-
- !insertmacro MUI_STARTMENU_WRITE_END
-
;For the setuptype page
!insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_SETUPTYPE_TITLE):"
@@ -1014,29 +1030,82 @@ Function confirm_function
!insertmacro confirm_addline nsArraySources
!insertmacro confirm_addline NSISLanguagesFiles
+
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE ""
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE "$(UMUI_TEXT_ADDITIONALTASKS_TITLE):"
+ ;Only if one at least of additional icon check is checked
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED DESKTOP
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_ADDITIONALTASKS_ADDITIONAL_ICONS)"
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_ADDITIONALTASKS_CREATE_DESKTOP_ICON)"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+ ;ShellVarContext
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT)"
+ ; only if for all user radio is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED ALL
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_FOR_ALL_USERS)"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+ ; only if for current user is selected
+ !insertmacro UMUI_ADDITIONALTASKS_IF_CKECKED CURRENT
+ !insertmacro UMUI_CONFIRMPAGE_TEXTBOX_ADDLINE " $(UMUI_TEXT_SHELL_VAR_CONTEXT_ONLY_FOR_CURRENT_USER)"
+ !insertmacro UMUI_ADDITIONALTASKS_ENDIF
+
FunctionEnd
Function preuninstall_function
+ IfFileExists $INSTDIR\makensis.exe nsis_installed
+ MessageBox MB_YESNO "It does not appear that NSIS is installed in the directory '$INSTDIR'.$\r$\nContinue anyway (not recommended)?" IDYES nsis_installed
+ Abort "Install aborted by user"
+ nsis_installed:
+
SetDetailsPrint textonly
- DetailPrint "Uninstalling UltraModernUI..."
+ DetailPrint "Uninstalling Ultra-Modern UI..."
SetDetailsPrint none
!insertmacro removeUMUIfiles
- RMDir "$INSTDIR"
-
- !insertmacro MUI_STARTMENU_GETFOLDER Application $STARTMENU_FOLDER
+ Delete "$SMPROGRAMS\NSIS.lnk"
+ Delete "$DESKTOP\NSIS.lnk"
+
+ ClearErrors
+ ReadRegStr $R0 ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_StartMenuFolder"
+ IfErrors checkNext 0
+ StrCpy $R1 $R0 "" -8 ; copy last height chars
+ StrCmpS $R1 "\Contrib" 0 removeShortcuts
+ StrCpy $R0 $R0 -8 ; remove \Contrib
+ Goto removeShortcuts
+ checkNext:
+ ReadRegStr $R0 ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "StartMenuFolder"
+ IfErrors noStartMenu removeShortcuts
+ removeShortcuts:
+ SetShellVarContext all
+ Delete "$SMPROGRAMS\$R0\Contrib\UltraModernUI Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\NSISArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\SkinnedControls Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptionsEx Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptions Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Uninstall UltraModernUI.lnk"
+ RMDir "$SMPROGRAMS\$R0\Contrib"
+ Delete "$SMPROGRAMS\$R0\Uninstall UltraModernUI.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS.lnk"
+ RMDir "$SMPROGRAMS\$R0"
+
+ SetShellVarContext current
+ Delete "$SMPROGRAMS\$R0\Contrib\UltraModernUI Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\NSISArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\SkinnedControls Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\nsArray Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptionsEx Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\InstallOptions Readme.lnk"
+ Delete "$SMPROGRAMS\$R0\Contrib\Uninstall UltraModernUI.lnk"
+ RMDir "$SMPROGRAMS\$R0\Contrib"
+ Delete "$SMPROGRAMS\$R0\Uninstall UltraModernUI.lnk"
+ Delete "$SMPROGRAMS\$R0\NSIS.lnk"
+ RMDir "$SMPROGRAMS\$R0"
+ noStartMenu:
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\UltraModernUI Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\SkinnedControls Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\nsArray Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\InstallOptionsEx Readme.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall UltraModernUI.lnk"
- Delete "$SMPROGRAMS\$STARTMENU_FOLDER\..\Uninstall UltraModernUI.lnk"
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER"
- RMDir "$SMPROGRAMS\$STARTMENU_FOLDER\.."
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}"
@@ -1045,11 +1114,18 @@ Function preuninstall_function
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_SetupType" ;"${UMUI_SETUPTYPEPAGE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_InstType" ;"${UMUI_COMPONENTSPAGE_INSTTYPE_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_Components" ;"${UMUI_COMPONENTSPAGE_REGISTRY_VALUENAME}"
- DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_Application_REGISTRY_VALUENAME}" ;"${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}" this define was removed after the inclusion of the (ALTERNATIVE)STARTMENU_PAGE
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_ADDITIONALTASKS_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERSION_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_VERBUILD_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_INSTALLERFULLPATH_REGISTRY_VALUENAME}"
DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "${UMUI_UNINSTALLPATH_REGISTRY_VALUENAME}"
+ ; No more used registry keys
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "UMUI_StartMenuFolder"
+ DeleteRegValue ${UMUI_PARAMS_REGISTRY_ROOT} "${UMUI_PARAMS_REGISTRY_KEY}" "StartMenuFolder"
+
+ RMDir "$INSTDIR"
+
+ SetDetailsPrint both
FunctionEnd
@@ -1062,6 +1138,7 @@ Function .onInit
!insertmacro UMUI_MULTILANG_GET
; Check NSIS Version
+ ClearErrors
ReadRegDword $0 HKLM Software\NSIS "VersionMajor"
IfErrors errorNSIS 0
ReadRegDword $1 HKLM Software\NSIS "VersionMinor"
@@ -1073,13 +1150,11 @@ Function .onInit
Quit
okNSIS:
- ClearErrors
IntCmp $1 0 okNSISMin 0 okNSISMin
- MessageBox MB_OK|MB_ICONSTOP "Your version of NSIS is not compatible with UltraModernUI.$\r$\nPlease, update NSIS (http://nsis.sourceforge.net) and then re-execute this install.$\n$\rThis install will stop."
+ MessageBox MB_OK|MB_ICONSTOP "Your version of NSIS is not compatible with Ultra-Modern UI.$\r$\nPlease, update NSIS (http://nsis.sourceforge.net) and then re-execute this install.$\n$\rThis install will stop."
Quit
okNSISMin:
- ClearErrors
; ReadOnly Unselect if NSIS != VER_MAJOR && NSIS >= VER_MINOR
IntCmp $0 ${VER_MAJOR} 0 unselectROlangFiles unselectROlangFiles
@@ -1091,7 +1166,6 @@ Function .onInit
SectionSetFlags ${SecNSISLanguagesFiles} $2
!insertmacro ClearSectionInInstType ${SecNSISLanguagesFiles} 4 ;4 complete
end1:
- ClearErrors
FunctionEnd
diff --git a/LICENSE.md b/LICENSE.md
index dda59c7..ad0e68f 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,4 +1,4 @@
-Copyright © 2005-2018 SuperPat
+Copyright © 2005-2019 SuperPat
UltraModernUI is based on the ModernUI of Joost Verburg and inspired of the ExperienceUI of dandaman32
diff --git a/NSISUMUI.exe b/NSISUMUI.exe
new file mode 100644
index 0000000..1e4553e
Binary files /dev/null and b/NSISUMUI.exe differ
diff --git a/README.md b/README.md
index 56d8f49..bc39025 100644
--- a/README.md
+++ b/README.md
@@ -3,23 +3,23 @@
[1]: http://ultramodernui.sourceforge.net/
[2]: http://ultramodernui.sourceforge.net/images/header.png (Go to the NSIS Ultra-Modern User Interface home page)
-The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows. UltraModernUI and NSIS are released under an open source license.
+The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows. Ultra-Modern UI and NSIS are released under an open source license.
The Ultra-Modern User Interface also features new pages (Confirm, Abort, AlternativeStartMenu, AdditionalTasks, Information, Maintenance, Update, SetupType...). The interface and the graphics can be customized using the provided settings and the new skins system.
-UltraModernUI include also an other User Interface named ModernUIEx. ModernUIEx is the same User Interface as the original Modern UI style but with the support of the new ultra-modern pages and with a little more options.
+Ultra-Modern UI include also another User Interface named Modern UIEx. Modern UIEx is the same User Interface as the original Modern UI style but with the support of the new ultra-modern pages and with a little more options.
-UltraModernUI include three NSIS plug-ins:
+Ultra-Modern UI include three NSIS plug-ins:
-* [SkinnedControls](http://nsis.sourceforge.net/SkinnedControls_plug-in): a plug-in, natively integrated to UmtraModernUI, to skin all buttons and scroll bars of your installer;
-* [InstallOptionsEx](http://nsis.sourceforge.net/InstallOptionsEx_plug-in): an extension, natively integrated to UmtraModernUI, of the original [InstallOptions](http://nsis.sourceforge.net/Docs/InstallOptions/Readme.html) plug-in with more feature to create custom pages;
-* [nsArray](http://nsis.sourceforge.net/Arrays_in_NSIS): needed by some UltraModernUI features, provide less out-of-the-box arrays and map features.
+* [SkinnedControls](http://nsis.sourceforge.net/SkinnedControls_plug-in): a plug-in, natively integrated to Ultra-Modern UI, to skin all buttons and scroll bars of your installer;
+* [InstallOptionsEx](http://nsis.sourceforge.net/InstallOptionsEx_plug-in): an extension, natively integrated to Ultra-Modern UI, of the original [InstallOptions](http://nsis.sourceforge.net/Docs/InstallOptions/Readme.html) plug-in with more feature to create custom pages;
+* [nsArray](http://nsis.sourceforge.net/Arrays_in_NSIS): needed by some Ultra-Modern UI features, provide less out-of-the-box arrays and map features.
![](http://ultramodernui.sourceforge.net/images/screenshots/UMUI01.png)
-# What’s new in UltraModernUI version 2.0 ?
+# What’s new in Ultra-Modern UI version 2.0?
-* UltraModernUI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
+* Ultra-Modern UI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
* The NSISArray plug-in was replaced by the new nsArray plug-in in version 1.1.1.7 who is faster and uses less memory;
* Updated the InstallOptionsEx plug-in to version 2.4.5 beta 3 with full unicode support;
* Updated the SkinnedControls plug-in to version 1.4 with support of the new NSIS plug-in API, ignore case parameters name support, unicode support, rewritten documentation and button image size are no more limited to allow smoother gradients;
@@ -34,13 +34,13 @@ UltraModernUI include three NSIS plug-ins:
* New: Turkish language file by Bodenseematze;
* New: Bulgarian language file by Angel;
* The information page is now compatible with UTF16LE text files if compiled in Unicode;
-* The information page is now compatible with Unix style (LF only) line return text files;
+* The information page is now compatible with Unix style (LF only) line return text files;
* The UMUI_CUSTOM_SKIN define is now deprecated, it is no more necessary and you can simply use the UMUI_SKIN define with your custom skin;
* All button image was recreated with smoother gradient;
* Reduced weight of skin images;
* Updated and completed documentation;
* Added an example for nsDialogs based custom page and documentation;
-* The default install directory for the NSIS + UltraModernUI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
+* The default install directory for the NSIS + Ultra-Modern UI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
* A lot of bug fixes and optimizations;
* Source code now on GitHub: https://github.com/SuperPat45/UltraModernUI.