diff --git a/Contrib/Modern UI/Changelog.txt b/Contrib/Modern UI/Changelog.txt
index 9bf57ea6..fc14903d 100644
--- a/Contrib/Modern UI/Changelog.txt
+++ b/Contrib/Modern UI/Changelog.txt
@@ -1,5 +1,10 @@
NSIS Modern User Interface - VERSION HISTORY
+1.64 - March 26, 2003
+* Support for license page with checkbox or radiobuttons to let the
+user accept the agreement or not
+* Language files have to be updated
+
1.63 - March 9, 2003
* Support for a bitmap in the wizard header
* New defines to change the description area
diff --git a/Contrib/Modern UI/Language files/English.nsh b/Contrib/Modern UI/Language files/English.nsh
index f84d54b8..dff42f5b 100644
--- a/Contrib/Modern UI/Language files/English.nsh
+++ b/Contrib/Modern UI/Language files/English.nsh
@@ -1,5 +1,5 @@
;NSIS Modern User Interface - Language File
-;Compatible with Modern UI 1.63
+;Compatible with Modern UI 1.64
;Language: English (1033)
;By Joost Verburg
@@ -21,7 +21,9 @@
!insertmacro MUI_LANGUAGEFILE_STRING MUI_TEXT_LICENSE_TITLE "License Agreement"
!insertmacro MUI_LANGUAGEFILE_STRING MUI_TEXT_LICENSE_SUBTITLE "Please review the license terms before installing ${MUI_PRODUCT}."
!insertmacro MUI_LANGUAGEFILE_STRING MUI_INNERTEXT_LICENSE_TOP "Press Page Down to see the rest of the agreement."
- !insertmacro MUI_LANGUAGEFILE_STRING MUI_INNERTEXT_LICENSE_BOTTOM "If you accept all the terms of the agreement, choose I Agree to continue. You must accept the agreement to install ${MUI_PRODUCT}."
+ !insertmacro MUI_LANGUAGEFILE_STRING MUI_INNERTEXT_LICENSE_BOTTOM "If you accept the terms of the agreement, click I Agree to continue. You must accept the agreement to install ${MUI_PRODUCT}."
+ !insertmacro MUI_LANGUAGEFILE_STRING MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "If you accept the terms of the agreement, click the check box below. You must accept the agreement to install ${MUI_PRODUCT}."
+ !insertmacro MUI_LANGUAGEFILE_STRING MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "If you accept the terms of the agreement, select the first option below. You must accept the agreement to install ${MUI_PRODUCT}."
!insertmacro MUI_LANGUAGEFILE_STRING MUI_TEXT_COMPONENTS_TITLE "Choose Components"
!insertmacro MUI_LANGUAGEFILE_STRING MUI_TEXT_COMPONENTS_SUBTITLE "Choose which features of ${MUI_PRODUCT} you want to install."
diff --git a/Contrib/Modern UI/Readme.html b/Contrib/Modern UI/Readme.html
index a549690c..a4f01e29 100644
--- a/Contrib/Modern UI/Readme.html
+++ b/Contrib/Modern UI/Readme.html
@@ -162,6 +162,13 @@ follow these steps:
and shows information for the user.
MUI_LICENSEPAGE
Show the license page.
+
+
MUI_LICENSEPAGE_CHECKBOX
+ Display a checkbox the user has to check to agree with the license terms.
+
MUI_LICENSEPAGE_RADIOBUTTONS
+ Display two radiobuttons to allow the user to choose between accepting the
+ license terms or not.
+
MUI_COMPONENTSPAGE
Show the component selection page.
@@ -584,6 +591,15 @@ MUI_UNCUSTOMFUNCTION_INSTFILES_LEAVE
+- 1.64 - March 26, 2003
+
+ - Support for license page with checkbox or radiobuttons to
+ let the user accept the agreement or not
+ - Language files have to be updated
+
+
+
+
- 1.63 - March 9, 2003
- Support for a bitmap in the wizard header
diff --git a/Contrib/Modern UI/System.nsh b/Contrib/Modern UI/System.nsh
index 09c436b9..cd14944a 100644
--- a/Contrib/Modern UI/System.nsh
+++ b/Contrib/Modern UI/System.nsh
@@ -1,4 +1,4 @@
-;NSIS Modern User Interface version 1.63
+;NSIS Modern User Interface version 1.64
;Macro System
;Written by Joost Verburg
@@ -152,6 +152,14 @@
Icon "${MUI_ICON}"
+ !ifdef MUI_LICENSEPAGE
+ !ifdef MUI_LICENSEPAGE_CHECKBOX
+ LicenseForceSelection checkbox
+ !else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
+ LicenseForceSelection radiobuttons
+ !endif
+ !endif
+
!ifdef MUI_UNINSTALLER
UninstallIcon "${MUI_UNICON}"
!endif
@@ -535,7 +543,7 @@
!endif
!ifdef MUI_LICENSEPAGE
- Page license mui.LicensePre mui.LicenseShow mui.LicenseLeave
+ Page license mui.LicensePre mui.LicenseShow mui.LicenseLeave "MUI_INSTALLBUTTON_LICENSE"
!endif
!ifndef MUI_NOVERBOSE && MUI_MANUALVERBOSE
@@ -1771,15 +1779,27 @@
!macro MUI_LANGUAGEFILE_LANGSTRING_CONTINUE NAME INSTALLBUTTON
!ifndef "${INSTALLBUTTON}"
- LangString "${NAME}" 0 "${${NAME}}${MUI_TEXT_CONTINUE_NEXT}"
+ LangString "${NAME}" 0 "${${NAME}} ${MUI_TEXT_CONTINUE_NEXT}"
!else
- LangString "${NAME}" 0 "${${NAME}}${MUI_TEXT_CONTINUE_INSTALL}"
+ LangString "${NAME}" 0 "${${NAME}} ${MUI_TEXT_CONTINUE_INSTALL}"
!endif
!undef "${NAME}"
!macroend
+!macro MUI_LANGUAGEFILE_LANGSTRING_CUSTOMDEFINE_CONTINUE NAME DEFINE INSTALLBUTTON
+
+ !ifndef "${INSTALLBUTTON}"
+ LangString "${NAME}" 0 "${${DEFINE}} ${MUI_TEXT_CONTINUE_NEXT}"
+ !else
+ LangString "${NAME}" 0 "${${DEFINE}} ${MUI_TEXT_CONTINUE_INSTALL}"
+ !endif
+
+ !undef "${DEFINE}"
+
+!macroend
+
!macro MUI_LANGUAGEFILE_UNLANGSTRING NAME
LangString "un.${NAME}" 0 "${${NAME}}"
@@ -1875,7 +1895,18 @@
!insertmacro MUI_LANGUAGEFILE_LANGSTRING "MUI_TEXT_LICENSE_TITLE"
!insertmacro MUI_LANGUAGEFILE_LANGSTRING "MUI_TEXT_LICENSE_SUBTITLE"
!insertmacro MUI_LANGUAGEFILE_NSISCOMMAND "LicenseText" "MUI_INNERTEXT_LICENSE_TOP"
- !insertmacro MUI_LANGUAGEFILE_LANGSTRING "MUI_INNERTEXT_LICENSE_BOTTOM"
+ !ifndef MUI_LICENSEPAGE_CHECKBOX && MUI_LICENSEPAGE_RADIOBUTTONS
+ !insertmacro MUI_LANGUAGEFILE_LANGSTRING "MUI_INNERTEXT_LICENSE_BOTTOM"
+ !else
+ !ifndef MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX || MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS
+ !error "The ${LANGUAGE} Modern UI language file does not contain a bottom text for a license pages with a checkbox or radiobuttons. Please update this file and post your language file on the NSIS Project Page, http://nsis.sf.net."
+ !endif
+ !ifdef MUI_LICENSEPAGE_CHECKBOX
+ !insertmacro MUI_LANGUAGEFILE_LANGSTRING_CUSTOMDEFINE_CONTINUE "MUI_INNERTEXT_LICENSE_BOTTOM" "MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX" "MUI_INSTALLBUTTON_LICENSE"
+ !else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
+ !insertmacro MUI_LANGUAGEFILE_LANGSTRING_CUSTOMDEFINE_CONTINUE "MUI_INNERTEXT_LICENSE_BOTTOM" "MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS" "MUI_INSTALLBUTTON_LICENSE"
+ !endif
+ !endif
!endif
!ifdef MUI_COMPONENTSPAGE
diff --git a/Examples/Modern UI/Basic.nsi b/Examples/Modern UI/Basic.nsi
index 1b5a29f2..26eb7566 100644
--- a/Examples/Modern UI/Basic.nsi
+++ b/Examples/Modern UI/Basic.nsi
@@ -1,4 +1,4 @@
-;NSIS Modern User Interface version 1.63
+;NSIS Modern User Interface version 1.64
;Basic Example Script
;Written by Joost Verburg
diff --git a/Examples/Modern UI/HeaderBitmap.nsi b/Examples/Modern UI/HeaderBitmap.nsi
index 2c4a89c2..b8fe9e7e 100644
--- a/Examples/Modern UI/HeaderBitmap.nsi
+++ b/Examples/Modern UI/HeaderBitmap.nsi
@@ -1,4 +1,4 @@
-;NSIS Modern User Interface version 1.63
+;NSIS Modern User Interface version 1.64
;Header Bitmap Example Script
;Written by Joost Verburg
diff --git a/Examples/Modern UI/InstallOptions.nsi b/Examples/Modern UI/InstallOptions.nsi
index c790f1c9..362ff5db 100644
--- a/Examples/Modern UI/InstallOptions.nsi
+++ b/Examples/Modern UI/InstallOptions.nsi
@@ -1,4 +1,4 @@
-;NSIS Modern User Interface version 1.63
+;NSIS Modern User Interface version 1.64
;InstallOptions Example Script
;Written by Joost Verburg
diff --git a/Examples/Modern UI/MultiLanguage.nsi b/Examples/Modern UI/MultiLanguage.nsi
index 410973ff..52d92830 100644
--- a/Examples/Modern UI/MultiLanguage.nsi
+++ b/Examples/Modern UI/MultiLanguage.nsi
@@ -1,4 +1,4 @@
-;NSIS Modern User Interface version 1.63
+;NSIS Modern User Interface version 1.64
;MultiLanguage Example Script
;Written by Joost Verburg
diff --git a/Examples/Modern UI/StartMenu.nsi b/Examples/Modern UI/StartMenu.nsi
index d166b553..9d9dc44a 100644
--- a/Examples/Modern UI/StartMenu.nsi
+++ b/Examples/Modern UI/StartMenu.nsi
@@ -1,4 +1,4 @@
-;NSIS Modern User Interface version 1.63
+;NSIS Modern User Interface version 1.64
;Start Menu Folder Selection Example Script
;Written by Joost Verburg
diff --git a/Examples/Modern UI/WelcomeFinish.nsi b/Examples/Modern UI/WelcomeFinish.nsi
index 5d8118b8..55a12721 100644
--- a/Examples/Modern UI/WelcomeFinish.nsi
+++ b/Examples/Modern UI/WelcomeFinish.nsi
@@ -1,4 +1,4 @@
-;NSIS Modern User Interface version 1.63
+;NSIS Modern User Interface version 1.64
;Welcome/Finish Page Example Script
;Written by Joost Verburg