*** empty log message ***
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@814 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
4c9029094e
commit
22f64732e1
5 changed files with 520 additions and 174 deletions
|
@ -1,5 +1,5 @@
|
|||
;NSIS Modern Style UI
|
||||
;Example Script version 1.0
|
||||
;Example Script version 1.1
|
||||
;Written by Joost Verburg
|
||||
|
||||
!define NAME "Test Software" ;Define your own software name here
|
||||
|
@ -7,6 +7,7 @@
|
|||
|
||||
!verbose 3
|
||||
!include "${NSISDIR}\Examples\WinMessages.nsh"
|
||||
!include "ModernUI.nsh"
|
||||
!verbose 4
|
||||
|
||||
!define CURRENTPAGE $9
|
||||
|
@ -22,12 +23,7 @@
|
|||
SetOverwrite on
|
||||
|
||||
;User interface
|
||||
Icon "${NSISDIR}\Contrib\Icons\adni18-installer-C-no48xp.ico"
|
||||
UninstallIcon "${NSISDIR}\Contrib\Icons\adni18-uninstall-C-no48xp.ico"
|
||||
XPStyle On
|
||||
ChangeUI all "${NSISDIR}\Contrib\UIs\modern.exe"
|
||||
SetFont Tahoma 8
|
||||
CheckBitmap "${NSISDIR}\Contrib\Icons\checks4-aa.bmp"
|
||||
!insertmacro MUI_INTERFACE "adni18-installer-C-no48xp.ico" "adni18-uninstall-C-no48xp.ico" "modern.bmp" "smooth"
|
||||
|
||||
;License dialog
|
||||
LicenseText "Scroll down to see the rest of the agreement."
|
||||
|
@ -40,17 +36,13 @@
|
|||
InstallDir "$PROGRAMFILES\${NAME}"
|
||||
DirText "Setup will install ${NAME} in the following folder.$\r$\n$\r$\nTo install in this folder, click Install. To install in a different folder, click Browse and select another folder." " "
|
||||
|
||||
;Install dialog
|
||||
InstallColors /windows ;Default Windows colors for details list
|
||||
InstProgressFlags smooth
|
||||
|
||||
;Uninstaller
|
||||
UninstallText "This will uninstall ${NAME} from your system."
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
Section "Copy modern.exe" SecCopyUI
|
||||
Section "Modern.exe" SecCopyUI
|
||||
|
||||
;Add your stuff here
|
||||
|
||||
|
@ -70,10 +62,8 @@ SectionEnd
|
|||
Section ""
|
||||
|
||||
;Invisible section to display the Finish header
|
||||
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
|
||||
Call SetHeader
|
||||
|
||||
!insertmacro MUI_FINISHHEADER
|
||||
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
|
@ -81,144 +71,82 @@ SectionEnd
|
|||
|
||||
Function .onInitDialog
|
||||
|
||||
;Set texts on inner dialogs
|
||||
!insertmacro MUI_INNERDIALOG_INIT
|
||||
|
||||
Push ${TEMP1}
|
||||
!insertmacro MUI_INNERDIALOG_START 1
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1040 "If you accept all the terms of the agreement, choose I Agree to continue. If you choose Cancel, Setup will close. You must accept the agreement to install ${NAME}."
|
||||
!insertmacro MUI_INNERDIALOG_STOP 1
|
||||
|
||||
FindWindow ${TEMP1} "#32770" "" $HWNDPARENT
|
||||
!insertmacro MUI_INNERDIALOG_START 2
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1042 "Description"
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1043 "Hover your mouse over a component to see it's description."
|
||||
!insertmacro MUI_INNERDIALOG_STOP 2
|
||||
|
||||
StrCmp ${CURRENTPAGE} 1 "" +4
|
||||
GetDlgItem ${TEMP1} ${TEMP1} 1040
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "If you accept all the terms of the agreement, choose I Agree to continue. If you choose Cancel, Setup will close. You must accept the agreement to install ${NAME}."
|
||||
Goto done
|
||||
!insertmacro MUI_INNERDIALOG_START 3
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1041 "Destination Folder"
|
||||
!insertmacro MUI_INNERDIALOG_STOP 3
|
||||
|
||||
StrCmp ${CURRENTPAGE} 2 "" +4
|
||||
GetDlgItem ${TEMP1} ${TEMP1} 1042
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Description"
|
||||
Goto done
|
||||
|
||||
StrCmp ${CURRENTPAGE} 3 "" +3
|
||||
GetDlgItem ${TEMP1} ${TEMP1} 1041
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Destination Folder"
|
||||
|
||||
done:
|
||||
|
||||
Pop ${TEMP1}
|
||||
!insertmacro MUI_INNERDIALOG_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onNextPage
|
||||
|
||||
Push ${TEMP1}
|
||||
Push ${TEMP2}
|
||||
|
||||
;Set backgrounds & fonts for the outer dialog (only once)
|
||||
StrCmp ${CURRENTPAGE} "" "" no_set_outer
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1037
|
||||
CreateFont ${TEMP2} "Tahoma" 16 1000
|
||||
SendMessage ${TEMP1} ${WM_SETFONT} ${TEMP2} 0
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1038
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1034
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1039
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
no_set_outer:
|
||||
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
|
||||
|
||||
Call SetHeader
|
||||
|
||||
Pop ${TEMP2}
|
||||
Pop ${TEMP1}
|
||||
|
||||
!insertmacro MUI_NEXTPAGE_OUTER
|
||||
!insertmacro MUI_NEXTPAGE SetHeader
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onPrevPage
|
||||
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} - 1
|
||||
|
||||
Call SetHeader
|
||||
!insertmacro MUI_PREVPAGE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function SetHeader
|
||||
|
||||
;Set the texts on the header (white rectangle)
|
||||
!insertmacro MUI_HEADER_INIT
|
||||
|
||||
Push ${TEMP1}
|
||||
Push ${TEMP2}
|
||||
!insertmacro MUI_HEADER_START 1
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "License Agreement" "Please review the license terms before installing ${NAME}."
|
||||
!insertmacro MUI_HEADER_STOP 1
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1037
|
||||
GetDlgItem ${TEMP2} $HWNDPARENT 1038
|
||||
!insertmacro MUI_HEADER_START 2
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Choose Components" "Choose the components you want to install."
|
||||
!insertmacro MUI_HEADER_STOP 2
|
||||
|
||||
StrCmp ${CURRENTPAGE} 1 "" +4
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "License Agreement"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "Please review the license terms before installing ${NAME}."
|
||||
Goto done
|
||||
!insertmacro MUI_HEADER_START 3
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Choose Install Location" "Choose the folder in which to install ${NAME} in."
|
||||
!insertmacro MUI_HEADER_STOP 3
|
||||
|
||||
StrCmp ${CURRENTPAGE} 2 "" +4
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Choose Components"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "Choose the components you want to install."
|
||||
Goto done
|
||||
!insertmacro MUI_HEADER_START 4
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Installing" "Please wait while ${NAME} is being installed."
|
||||
!insertmacro MUI_HEADER_STOP 4
|
||||
|
||||
StrCmp ${CURRENTPAGE} 3 "" +4
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Choose Install Location"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "Choose the folder in which to install ${NAME} in."
|
||||
Goto done
|
||||
!insertmacro MUI_HEADER_START 5
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Finished" "Setup was completed successfully."
|
||||
!insertmacro MUI_HEADER_STOP 5
|
||||
|
||||
StrCmp ${CURRENTPAGE} 4 "" +4
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Installing"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "Please wait while ${NAME} is being installed."
|
||||
Goto done
|
||||
|
||||
StrCmp ${CURRENTPAGE} 5 "" +3
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Finished"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "Setup was completed successfully."
|
||||
|
||||
done:
|
||||
|
||||
Pop ${TEMP1}
|
||||
Pop ${TEMP2}
|
||||
!insertmacro MUI_HEADER_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onMouseOverSection
|
||||
|
||||
;Set text in Description area
|
||||
!insertmacro MUI_DESCRIPTION_INIT
|
||||
|
||||
Push ${TEMP1}
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1033 ${SecCopyUI} "Copy the modern.exe file to the application folder."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1033 ${SecCreateUninst} "Create a uninstaller which can automatically delete ${NAME}."
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_END
|
||||
|
||||
FindWindow ${TEMP1} "#32770" "" $HWNDPARENT
|
||||
GetDlgItem ${TEMP1} ${TEMP1} 1043
|
||||
|
||||
StrCmp $0 ${SecCopyUI} "" +3
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Copy the modern.exe file to the application folder."
|
||||
Goto done
|
||||
|
||||
StrCmp $0 ${SecCreateUninst} "" +2
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Create an uninstaller which can automatically remove ${NAME}."
|
||||
|
||||
done:
|
||||
|
||||
Pop ${TEMP1}
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onUserAbort
|
||||
|
||||
;Warning when 'Cancel' button is pressed
|
||||
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "Are you sure you want to quit ${NAME} Setup?" IDYES quit
|
||||
Abort
|
||||
quit:
|
||||
|
||||
!insertmacro MUI_ABORTWARNING 1033 "Are you sure you want to quit ${NAME} Setup?"
|
||||
!insertmacro MUI_ABORTWARNING_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
|
@ -244,65 +172,28 @@ SectionEnd
|
|||
|
||||
Function un.onNextPage
|
||||
|
||||
Push ${TEMP1}
|
||||
Push ${TEMP2}
|
||||
|
||||
;Set backgrounds & fonts for the outer dialog (only once)
|
||||
StrCmp ${CURRENTPAGE} "" "" no_set_outer
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1037
|
||||
CreateFont ${TEMP2} "Tahoma" 16 1000
|
||||
SendMessage ${TEMP1} ${WM_SETFONT} ${TEMP2} 0
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1038
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1034
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1039
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
no_set_outer:
|
||||
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
|
||||
|
||||
Call un.SetHeader
|
||||
|
||||
Pop ${TEMP2}
|
||||
Pop ${TEMP1}
|
||||
|
||||
!insertmacro MUI_NEXTPAGE_OUTER
|
||||
!insertmacro MUI_NEXTPAGE un.SetHeader
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function un.SetHeader
|
||||
|
||||
;Set the texts on the header (white rectangle)
|
||||
!insertmacro MUI_HEADER_INIT
|
||||
|
||||
Push ${TEMP1}
|
||||
Push ${TEMP2}
|
||||
!insertmacro MUI_HEADER_START 1
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Uninstall ${NAME}" "Remove ${NAME} from your system."
|
||||
!insertmacro MUI_HEADER_STOP 1
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1037
|
||||
GetDlgItem ${TEMP2} $HWNDPARENT 1038
|
||||
!insertmacro MUI_HEADER_START 2
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Uninstalling" "Please wait while ${NAME} is being uninstalled."
|
||||
!insertmacro MUI_HEADER_STOP 2
|
||||
|
||||
StrCmp ${CURRENTPAGE} 1 "" +4
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Uninstall ${NAME}"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "Remove ${NAME} from your system."
|
||||
Goto done
|
||||
!insertmacro MUI_HEADER_START 3
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Finished" "${NAME} has been removed from your system."
|
||||
!insertmacro MUI_HEADER_STOP 3
|
||||
|
||||
StrCmp ${CURRENTPAGE} 2 "" +4
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Uninstalling"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "Please wait while ${NAME} is being uninstalled."
|
||||
Goto done
|
||||
|
||||
StrCmp ${CURRENTPAGE} 3 "" +3
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "Finished"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "${NAME} has been removed from your system."
|
||||
|
||||
done:
|
||||
|
||||
Pop ${TEMP2}
|
||||
Pop ${TEMP1}
|
||||
!insertmacro MUI_HEADER_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
|
|
203
Examples/Modern UI/ModernUI.nsh
Normal file
203
Examples/Modern UI/ModernUI.nsh
Normal file
|
@ -0,0 +1,203 @@
|
|||
;Modern UI Header File version 1.0
|
||||
;Written by Joost Verburg
|
||||
|
||||
;See Example.nsi & Multilanguage.nsi for an example of usage
|
||||
|
||||
!ifndef MUI_MACROS_USED
|
||||
|
||||
!define MUI_MACROS_USED
|
||||
|
||||
!macro MUI_INTERFACE ICON UNICON CHECKS PROGRESSBAR
|
||||
|
||||
;User interface
|
||||
|
||||
Icon "${NSISDIR}\Contrib\Icons\${ICON}"
|
||||
UninstallIcon "${NSISDIR}\Contrib\Icons\${UNICON}"
|
||||
XPStyle On
|
||||
ChangeUI all "${NSISDIR}\Contrib\UIs\modern.exe"
|
||||
SetFont Tahoma 8
|
||||
CheckBitmap "${NSISDIR}\Contrib\Icons\${CHECKS}"
|
||||
InstallColors /windows
|
||||
InstProgressFlags "${PROGRESSBAR}"
|
||||
BrandingText /TRIMRIGHT
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_FINISHHEADER
|
||||
|
||||
;Finish text on the header (white rectangle)
|
||||
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
|
||||
Call SetHeader
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_INNERDIALOG_INIT
|
||||
|
||||
;Extra text elements on the inner dialogs
|
||||
|
||||
Push ${TEMP1}
|
||||
Push ${TEMP2}
|
||||
|
||||
FindWindow ${TEMP1} "#32770" "" $HWNDPARENT
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_INNERDIALOG_START PAGE
|
||||
|
||||
StrCmp ${CURRENTPAGE} ${PAGE} "" done_${PAGE}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_INNERDIALOG_TEXT LANGID ELEMENT TEXT
|
||||
|
||||
StrCmp $LANGUAGE ${LANGID} "" +3
|
||||
GetDlgItem ${TEMP2} ${TEMP1} ${ELEMENT}
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "${TEXT}"
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_INNERDIALOG_STOP PAGE
|
||||
|
||||
done_${PAGE}:
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_INNERDIALOG_END
|
||||
|
||||
Pop ${TEMP2}
|
||||
Pop ${TEMP1}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_NEXTPAGE_OUTER
|
||||
|
||||
Push ${TEMP1}
|
||||
Push ${TEMP2}
|
||||
|
||||
;Set backgrounds & fonts for the outer dialog (only once)
|
||||
StrCmp ${CURRENTPAGE} "" "" no_first_run
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1037
|
||||
CreateFont ${TEMP2} "Tahoma" 16 1000
|
||||
SendMessage ${TEMP1} ${WM_SETFONT} ${TEMP2} 0
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1038
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1034
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1039
|
||||
SetStaticBkColor ${TEMP1} 0x00FFFFFF
|
||||
|
||||
no_first_run:
|
||||
|
||||
Pop ${TEMP2}
|
||||
Pop ${TEMP1}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_NEXTPAGE CALL
|
||||
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
|
||||
|
||||
Call "${CALL}"
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_PREVPAGE
|
||||
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} - 1
|
||||
|
||||
Call SetHeader
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_HEADER_INIT
|
||||
|
||||
Push ${TEMP1}
|
||||
Push ${TEMP2}
|
||||
|
||||
GetDlgItem ${TEMP1} $HWNDPARENT 1037
|
||||
GetDlgItem ${TEMP2} $HWNDPARENT 1038
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_HEADER_START PAGE
|
||||
|
||||
StrCmp ${CURRENTPAGE} ${PAGE} "" done_${PAGE}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_HEADER_TEXT LANGID TEXT SUBTEXT
|
||||
|
||||
;Text on the white rectangle
|
||||
|
||||
StrCmp $LANGUAGE ${LANGID} "" +4
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "${TEXT}"
|
||||
SendMessage ${TEMP2} ${WM_SETTEXT} 0 "${SUBTEXT}"
|
||||
Goto done
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_HEADER_STOP PAGE
|
||||
|
||||
done_${PAGE}:
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_HEADER_END
|
||||
|
||||
done:
|
||||
|
||||
Pop ${TEMP2}
|
||||
Pop ${TEMP1}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_DESCRIPTION_INIT
|
||||
|
||||
Push ${TEMP1}
|
||||
|
||||
FindWindow ${TEMP1} "#32770" "" $HWNDPARENT
|
||||
GetDlgItem ${TEMP1} ${TEMP1} 1043
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_DESCRIPTION_TEXT LANGID VAR TEXT
|
||||
|
||||
;Set text on the Description frame
|
||||
|
||||
StrCmp $LANGUAGE ${LANGID} "" +4
|
||||
StrCmp $0 ${VAR} "" +3
|
||||
SendMessage ${TEMP1} ${WM_SETTEXT} 0 "${TEXT}"
|
||||
Goto done
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_DESCRIPTION_END
|
||||
|
||||
done:
|
||||
Pop ${TEMP1}
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_ABORTWARNING LANGID TEXT
|
||||
|
||||
;Warning when Cancel button is pressed
|
||||
|
||||
StrCmp $LANGUAGE ${LANGID} "" +3
|
||||
MessageBox MB_YESNO|MB_ICONEXCLAMATION "${TEXT}" IDYES quit
|
||||
Abort
|
||||
|
||||
!macroend
|
||||
|
||||
!macro MUI_ABORTWARNING_END
|
||||
|
||||
quit:
|
||||
|
||||
!macroend
|
||||
|
||||
!endif
|
239
Examples/Modern UI/MultiLanguage.nsi
Normal file
239
Examples/Modern UI/MultiLanguage.nsi
Normal file
|
@ -0,0 +1,239 @@
|
|||
;NSIS Modern Style UI
|
||||
;Multilanguage & LangDLL Example Script version 1.0
|
||||
;Written by Joost Verburg
|
||||
|
||||
!define NAME "Test Software" ;Define your own software name here
|
||||
!define VERSION "1.0" ;Define your own software version here
|
||||
|
||||
!verbose 3
|
||||
!include "${NSISDIR}\Examples\WinMessages.nsh"
|
||||
!include "ModernUI.nsh"
|
||||
!verbose 4
|
||||
|
||||
!define CURRENTPAGE $9
|
||||
|
||||
!define TEMP1 $R0
|
||||
!define TEMP2 $R1
|
||||
|
||||
;--------------------------------
|
||||
|
||||
;Language Files
|
||||
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
|
||||
LoadLanguageFile "${NSISDIR}\Contrib\Language files\Dutch.nlf"
|
||||
|
||||
;General
|
||||
Name /LANG=1033 "${NAME} ${VERSION}"
|
||||
Name /LANG=1043 "${NAME} ${VERSION}"
|
||||
OutFile "Multilanguage.exe"
|
||||
SetOverwrite on
|
||||
|
||||
;User interface
|
||||
!insertmacro MUI_INTERFACE "adni18-installer-C-no48xp.ico" "adni18-uninstall-C-no48xp.ico" "modern.bmp" "smooth"
|
||||
|
||||
;License dialog
|
||||
LicenseText /LANG=1033 "Scroll down to see the rest of the agreement."
|
||||
LicenseText /LANG=1043 "Blader naar beneden om de rest van de overeenkomt te zien."
|
||||
LicenseData /LANG=1033 "License.txt"
|
||||
LicenseData /LANG=1043 "License.txt"
|
||||
|
||||
;Component-select dialog
|
||||
ComponentText /LANG=1033 "Check the components you want to install and uncheck the components you don't want to install. Click Next to continue."
|
||||
ComponentText /LANG=1043 "Selecteer de onderdelen die u wilt installer en deselecteer de onderdelen die u niet wilt installeren. Klik Volgende om verder te gaan."
|
||||
|
||||
;Folder-select dialog
|
||||
InstallDir "$PROGRAMFILES\${NAME}"
|
||||
DirText /LANG=1033 "Setup will install ${NAME} in the following folder.$\r$\n$\r$\nTo install in this folder, click Install. To install in a different folder, click Browse and select another folder." " "
|
||||
DirText /LANG=1043 "Setup zal ${NAME} in de volgende map installeren.$\r$\n$\r$\nOm in een deze map te intalleren, klik Installeer. Om in een andere map te installeren, klik Bladeren en selecteerd een andere map." " "
|
||||
|
||||
;Uninstaller
|
||||
UninstallText /LANG=1033 "This will uninstall ${NAME} from your system."
|
||||
UninstallText /LANG=1043 "Dit programma zal ${NAME} verwijderen van uw systeem."
|
||||
|
||||
;--------------------------------
|
||||
;Installer Sections
|
||||
|
||||
Section "Modern.exe" SecCopyUI
|
||||
|
||||
;Add your stuff here
|
||||
|
||||
SetOutPath "$INSTDIR"
|
||||
File "${NSISDIR}\Contrib\UIs\modern.exe"
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section "Create uninstaller" SecCreateUninst
|
||||
|
||||
;Add your stuff here
|
||||
|
||||
WriteUninstaller "$INSTDIR\Uninstall.exe"
|
||||
|
||||
SectionEnd
|
||||
|
||||
Section ""
|
||||
|
||||
;Invisible section to display the Finish header
|
||||
!insertmacro MUI_FINISHHEADER
|
||||
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Installer Functions
|
||||
|
||||
Function .onInit
|
||||
|
||||
Push "Select a language"
|
||||
LangDialog "Please select a language." Nederlands 1043 English 1033 2
|
||||
Pop $LANGUAGE
|
||||
StrCmp $LANGUAGE "cancel" 0 +2
|
||||
Abort
|
||||
|
||||
StrCmp $LANGUAGE 1043 "" +2
|
||||
SectionSetText ${SecCreateUninst} "Deïnstallatie programma"
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onInitDialog
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_INIT
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_START 1
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1040 "If you accept all the terms of the agreement, choose I Agree to continue. If you choose Cancel, Setup will close. You must accept the agreement to install ${NAME}."
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1043 1040 "Als u de overeenkomt accepteert, kies Akkoord om verder te gaan. Als u Annuleren kiest zal Setup sluiten. U moet met de overeenkomst acceptren om ${NAME} te installeren."
|
||||
!insertmacro MUI_INNERDIALOG_STOP 1
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_START 2
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1042 "Description"
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1043 "Hover your mouse over a component to see it's description."
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1043 1042 "Beschrijving"
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1043 1043 "Beweeg uw muis over een onderdeel om een beschrijving te zien."
|
||||
!insertmacro MUI_INNERDIALOG_STOP 2
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_START 3
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1041 "Destination Folder"
|
||||
!insertmacro MUI_INNERDIALOG_TEXT 1033 1041 "Installatie Map"
|
||||
!insertmacro MUI_INNERDIALOG_STOP 3
|
||||
|
||||
!insertmacro MUI_INNERDIALOG_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onNextPage
|
||||
|
||||
!insertmacro MUI_NEXTPAGE_OUTER
|
||||
!insertmacro MUI_NEXTPAGE SetHeader
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onPrevPage
|
||||
|
||||
!insertmacro MUI_PREVPAGE
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function SetHeader
|
||||
|
||||
!insertmacro MUI_HEADER_INIT
|
||||
|
||||
!insertmacro MUI_HEADER_START 1
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "License Agreement" "Please review the license terms before installing ${NAME}."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Licentie Overeenkomst" "Lees de licentie overeenkomst voordat u ${NAME} installeerd."
|
||||
!insertmacro MUI_HEADER_STOP 1
|
||||
|
||||
!insertmacro MUI_HEADER_START 2
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Choose Components" "Choose the components you want to install."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Kies Onderdelen" "Kies de onderdelen die u wilt installeren."
|
||||
!insertmacro MUI_HEADER_STOP 2
|
||||
|
||||
!insertmacro MUI_HEADER_START 3
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Choose Install Location" "Choose the folder in which to install ${NAME} in."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Kies Installatie Locatie" "Kies de map waarin u ${NAME} in wilt installeren."
|
||||
!insertmacro MUI_HEADER_STOP 3
|
||||
|
||||
!insertmacro MUI_HEADER_START 4
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Installing" "Please wait while ${NAME} is being installed."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Bezig met installeren" "Een ogenblik geduld terwijl ${NAME} wordt geinstalleerd."
|
||||
!insertmacro MUI_HEADER_STOP 4
|
||||
|
||||
!insertmacro MUI_HEADER_START 5
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Finished" "Setup was completed successfully."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Gereed" "De installatie is succesvol verlopen."
|
||||
!insertmacro MUI_HEADER_STOP 5
|
||||
|
||||
!insertmacro MUI_HEADER_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onMouseOverSection
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_INIT
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1033 ${SecCopyUI} "Copy the modern.exe file to the application folder."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1033 ${SecCreateUninst} "Create a uninstaller which can automatically delete ${NAME}."
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1043 ${SecCopyUI} "Kopieër modern.exe naar de programma map."
|
||||
!insertmacro MUI_DESCRIPTION_TEXT 1043 ${SecCreateUninst} "Maak een deïnstallatie programma dat ${NAME} automatisch kan verwijderen."
|
||||
|
||||
!insertmacro MUI_DESCRIPTION_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function .onUserAbort
|
||||
|
||||
!insertmacro MUI_ABORTWARNING 1033 "Are you sure you want to quit ${NAME} Setup?"
|
||||
!insertmacro MUI_ABORTWARNING 1043 "Weet u zeker dat u ${NAME} Setup wilt afsluiten?"
|
||||
!insertmacro MUI_ABORTWARNING_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Section
|
||||
|
||||
Section "Uninstall"
|
||||
|
||||
;Add your stuff here
|
||||
|
||||
Delete "$INSTDIR\modern.exe"
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
|
||||
RMDir "$INSTDIR"
|
||||
|
||||
;Display the Finish header
|
||||
IntOp ${CURRENTPAGE} ${CURRENTPAGE} + 1
|
||||
Call un.SetHeader
|
||||
|
||||
SectionEnd
|
||||
|
||||
;--------------------------------
|
||||
;Uninstaller Functions
|
||||
|
||||
Function un.onNextPage
|
||||
|
||||
!insertmacro MUI_NEXTPAGE_OUTER
|
||||
!insertmacro MUI_NEXTPAGE un.SetHeader
|
||||
|
||||
FunctionEnd
|
||||
|
||||
Function un.SetHeader
|
||||
|
||||
!insertmacro MUI_HEADER_INIT
|
||||
|
||||
!insertmacro MUI_HEADER_START 1
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Uninstall ${NAME}" "Remove ${NAME} from your system."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Deïnstalleer ${NAME}" "Verwijder ${NAME} van uw system."
|
||||
!insertmacro MUI_HEADER_STOP 1
|
||||
|
||||
!insertmacro MUI_HEADER_START 2
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Uninstalling" "Please wait while ${NAME} is being uninstalled."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Bezig met deïnstalleren" "Een ogenblik gedult terwijl ${NAME} van uw system wordt verwijderd."
|
||||
!insertmacro MUI_HEADER_STOP 2
|
||||
|
||||
!insertmacro MUI_HEADER_START 3
|
||||
!insertmacro MUI_HEADER_TEXT 1033 "Finished" "${NAME} has been removed from your system."
|
||||
!insertmacro MUI_HEADER_TEXT 1043 "Gereed" "${NAME} is verwijderd van uw systeem."
|
||||
!insertmacro MUI_HEADER_STOP 3
|
||||
|
||||
!insertmacro MUI_HEADER_END
|
||||
|
||||
FunctionEnd
|
||||
|
||||
;eof
|
|
@ -106,10 +106,8 @@ table
|
|||
<p class="text">To change elements on the dialogs, modify modern.exe
|
||||
in the Contrib\UIs folder using a a resource editor such as
|
||||
<a href="http://www.users.on.net/johnson/resourcehacker/">Resource Hacker</a>.</p>
|
||||
<p class="text">This new interface uses some additional texts
|
||||
which are not included in the standard NSIS language files.
|
||||
If you want to create a multilanguage installer, you need to
|
||||
control this texts by your script.</p>
|
||||
<p class="text">The new macro system has full multilanguage support,
|
||||
for an example, see Multilanguage.nsi</p>
|
||||
<p class="text">The 'Loading Setup' text on the slash screen
|
||||
which is being displayed when the installer is starting (Verifying
|
||||
installer, Unpacking data when using COMPRESS_WHOLE) cannot
|
||||
|
@ -122,6 +120,21 @@ table
|
|||
file and recompile NSIS.</p>
|
||||
<p class="header">Version history</p>
|
||||
<ul>
|
||||
<li class="text">1.1 - August 28th, 2002
|
||||
<ul>
|
||||
<li>You need the latest NSIS 2 CVS version for this to work!
|
||||
<li>Header file with macros, it's now very easy to use the UI in your scripts :)
|
||||
<li>Updated example scripts
|
||||
<li>Added Multilanguage.nsi example (Multilanguage & LangDLL)
|
||||
<li>Fixed background color issue with some custom XP themes
|
||||
<li>Removed WS_VISIBLE from black rect for inner dialog (fixes display issues)
|
||||
<li>Changed size of description area
|
||||
<li>Example script: Added instructions for the user on the Description frame
|
||||
<li>Auto sizing branding text
|
||||
<li>Used modern.bmp for the checks (thanks rainwater)
|
||||
<li>Using the new NSIS version, descriptions work using the keyboard and you can give
|
||||
descriptions to subsections
|
||||
</ul>
|
||||
<li class="text">1.0 - August 26th, 2002
|
||||
<ul>
|
||||
<li>Initial release
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue