2002-10-07 19:59:01 +00:00
;NSIS Modern UI version 1.3
;MultiLanguage & LangDLL Example Script
2002-08-29 10:31:13 +00:00
;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
2002-10-07 19:59:01 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\System.nsh "
2002-08-29 10:31:13 +00:00
!verbose 4
;--------------------------------
2002-09-22 13:33:53 +00:00
;Configuration
2002-08-29 10:31:13 +00:00
2002-10-08 09:29:03 +00:00
!define MUI_LICENSEPAGE
!define MUI_COMPONENTPAGE
!define MUI_DIRSELECTPAGE
2002-10-13 18:28:38 +00:00
!define MUI_ABORTWARNING
2002-10-08 09:29:03 +00:00
!define MUI_UNINSTALLER
;Languages
2002-10-07 19:59:01 +00:00
;English
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\English.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\English.nsh "
2002-10-08 20:53:32 +00:00
;French
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\French.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\French.nsh "
2002-10-08 20:53:32 +00:00
;German
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\German.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\German.nsh "
2002-10-07 19:59:01 +00:00
2002-10-23 17:32:35 +00:00
;Spanish
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\Spanish.nlf "
!include " ${NSISDIR} \Contrib\Modern UI\Language files\Spanish.nsh "
2002-10-07 19:59:01 +00:00
;Dutch
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\Dutch.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\Dutch.nsh "
2002-10-08 09:29:03 +00:00
2002-10-11 13:20:03 +00:00
;Polish
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\Polish.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\Polish.nsh "
2002-10-11 13:20:03 +00:00
2002-10-08 18:06:22 +00:00
;Greek
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\Greek.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\Greek.nsh "
2002-10-23 17:32:35 +00:00
;Russian
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\Russian.nlf "
!include " ${NSISDIR} \Contrib\Modern UI\Language files\Russian.nsh "
;Portuguese (Brasil)
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\PortugueseBR.nlf "
!include " ${NSISDIR} \Contrib\Modern UI\Language files\PortugueseBR.nsh "
;Arabic
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\Arabic.nlf "
!include " ${NSISDIR} \Contrib\Modern UI\Language files\Arabic.nsh "
2002-10-10 20:17:36 +00:00
;Simplified Chinese
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\SimpChinese.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\SimpChinese.nsh "
2002-10-10 20:17:36 +00:00
;Traditional Chinese
LoadLanguageFile " ${NSISDIR} \Contrib\Language files\TradChinese.nlf "
2002-10-12 15:36:37 +00:00
!include " ${NSISDIR} \Contrib\Modern UI\Language files\TradChinese.nsh "
2002-08-29 10:31:13 +00:00
;General
2002-09-26 18:00:16 +00:00
Name /LANG = ${LANG_ENGLISH} " ${NAME} ${VERSION} "
2002-10-08 09:29:03 +00:00
Name /LANG = ${LANG_FRENCH} " ${NAME} ${VERSION} "
2002-10-08 20:53:32 +00:00
Name /LANG = ${LANG_GERMAN} " ${NAME} ${VERSION} "
2002-10-23 17:32:35 +00:00
Name /LANG = ${LANG_SPANISH} " ${NAME} ${VERSION} "
2002-10-08 20:53:32 +00:00
Name /LANG = ${LANG_DUTCH} " ${NAME} ${VERSION} "
2002-10-11 13:20:03 +00:00
Name /LANG = ${LANG_POLISH} " ${NAME} ${VERSION} "
2002-10-08 18:06:22 +00:00
Name /LANG = ${LANG_GREEK} " ${NAME} ${VERSION} "
2002-10-23 17:32:35 +00:00
Name /LANG = ${LANG_RUSSIAN} " ${NAME} ${VERSION} "
Name /LANG = ${LANG_PORTUGUESEBR} " ${NAME} ${VERSION} "
Name /LANG = ${LANG_ARABIC} " ${NAME} ${VERSION} "
2002-10-10 20:17:36 +00:00
Name /LANG = ${LANG_SIMPCHINESE} " ${NAME} ${VERSION} "
Name /LANG = ${LANG_TRADCHINESE} " ${NAME} ${VERSION} "
2002-10-07 19:59:01 +00:00
OutFile " MultiLanguage.exe "
2002-08-29 10:31:13 +00:00
2002-10-07 19:59:01 +00:00
;User interface - icons, ui file, check bitmap, progress bar etc.
2002-10-12 18:33:28 +00:00
!insertmacro MUI_INTERFACE " modern.exe " " modern-install.ico " " modern-uninstall.ico " " modern.bmp " " smooth " " Tahoma " " $9 " ;$9 is the variable used to store the current page, do not use this var!
2002-09-02 19:50:25 +00:00
2002-08-29 10:31:13 +00:00
;License dialog
2002-10-12 16:16:46 +00:00
LicenseData /LANG = ${LANG_ENGLISH} " ${NSISDIR} \Contrib\Modern UI\License.txt "
LicenseData /LANG = ${LANG_FRENCH} " ${NSISDIR} \Contrib\Modern UI\License.txt "
LicenseData /LANG = ${LANG_GERMAN} " ${NSISDIR} \Contrib\Modern UI\License.txt "
2002-10-23 17:32:35 +00:00
LicenseData /LANG = ${LANG_SPANISH} " ${NSISDIR} \Contrib\Modern UI\License.txt "
2002-10-12 16:16:46 +00:00
LicenseData /LANG = ${LANG_DUTCH} " ${NSISDIR} \Contrib\Modern UI\License.txt "
LicenseData /LANG = ${LANG_POLISH} " ${NSISDIR} \Contrib\Modern UI\License.txt "
LicenseData /LANG = ${LANG_GREEK} " ${NSISDIR} \Contrib\Modern UI\License.txt "
2002-10-23 17:32:35 +00:00
LicenseData /LANG = ${LANG_RUSSIAN} " ${NSISDIR} \Contrib\Modern UI\License.txt "
LicenseData /LANG = ${LANG_PORTUGUESEBR} " ${NSISDIR} \Contrib\Modern UI\License.txt "
LicenseData /LANG = ${LANG_ARABIC} " ${NSISDIR} \Contrib\Modern UI\License.txt "
2002-10-12 16:16:46 +00:00
LicenseData /LANG = ${LANG_SIMPCHINESE} " ${NSISDIR} \Contrib\Modern UI\License.txt "
LicenseData /LANG = ${LANG_TRADCHINESE} " ${NSISDIR} \Contrib\Modern UI\License.txt "
2002-08-29 10:31:13 +00:00
;Component-select dialog
2002-10-07 19:59:01 +00:00
;Titles
LangString TITLE_SecCopyUI ${LANG_ENGLISH} " modern.exe "
2002-10-08 09:29:03 +00:00
LangString TITLE_SecCopyUI ${LANG_FRENCH} " modern.exe "
2002-10-08 20:53:32 +00:00
LangString TITLE_SecCopyUI ${LANG_GERMAN} " modern.exe "
2002-10-23 17:32:35 +00:00
LangString TITLE_SecCopyUI ${LANG_SPANISH} " modern.exe "
2002-10-08 20:53:32 +00:00
LangString TITLE_SecCopyUI ${LANG_DUTCH} " modern.exe "
2002-10-11 13:20:03 +00:00
LangString TITLE_SecCopyUI ${LANG_POLISH} " modern.exe "
2002-10-08 18:06:22 +00:00
LangString TITLE_SecCopyUI ${LANG_GREEK} " modern.exe "
2002-10-23 17:32:35 +00:00
LangString TITLE_SecCopyUI ${LANG_RUSSIAN} " modern.exe "
LangString TITLE_SecCopyUI ${LANG_PORTUGUESEBR} " modern.exe "
LangString TITLE_SecCopyUI ${LANG_ARABIC} " modern.exe "
2002-10-10 20:17:36 +00:00
LangString TITLE_SecCopyUI ${LANG_SIMPCHINESE} " modern.exe "
LangString TITLE_SecCopyUI ${LANG_TRADCHINESE} " modern.exe "
2002-10-11 13:20:03 +00:00
2002-10-07 19:59:01 +00:00
;Descriptions
2002-10-08 09:29:03 +00:00
LangString DESC_SecCopyUI ${LANG_ENGLISH} " modern.exe: English description "
2002-10-08 18:06:22 +00:00
LangString DESC_SecCopyUI ${LANG_FRENCH} " modern.exe: French description "
2002-10-08 20:53:32 +00:00
LangString DESC_SecCopyUI ${LANG_GERMAN} " modern.exe: German description "
2002-10-23 17:32:35 +00:00
LangString DESC_SecCopyUI ${LANG_SPANISH} " modern.exe: Spanish description "
2002-10-08 20:53:32 +00:00
LangString DESC_SecCopyUI ${LANG_DUTCH} " modern.exe: Dutch description "
2002-10-11 13:20:03 +00:00
LangString DESC_SecCopyUI ${LANG_POLISH} " modern.exe: Polish description "
2002-10-08 18:06:22 +00:00
LangString DESC_SecCopyUI ${LANG_GREEK} " modern.exe: Greek description "
2002-10-23 17:32:35 +00:00
LangString DESC_SecCopyUI ${LANG_RUSSIAN} " modern.exe: Greek description "
LangString DESC_SecCopyUI ${LANG_PORTUGUESEBR} " modern.exe: Portuguese (Brasil) description "
LangString DESC_SecCopyUI ${LANG_ARABIC} " modern.exe: Arabic description "
2002-10-10 20:17:36 +00:00
LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} " modern.exe: Simplified Chinese description "
LangString DESC_SecCopyUI ${LANG_TRADCHINESE} " modern.exe: Traditional Chinese description "
2002-10-17 21:53:26 +00:00
2002-08-29 10:31:13 +00:00
;Folder-select dialog
InstallDir " $PROGRAMFILES \${NAME} "
2002-10-08 09:29:03 +00:00
2002-08-29 10:31:13 +00:00
;--------------------------------
;Installer Sections
2002-10-07 19:59:01 +00:00
Section $ ( TITLE_SecCopyUI) SecCopyUI
2002-08-29 10:31:13 +00:00
2002-10-17 21:53:26 +00:00
;ADD YOUR OWN STUFF HERE!
2002-08-29 10:31:13 +00:00
SetOutPath " $INSTDIR "
File " ${NSISDIR} \Contrib\UIs\modern.exe "
2002-10-17 21:53:26 +00:00
2002-08-29 10:31:13 +00:00
WriteUninstaller " $INSTDIR \Uninstall.exe "
SectionEnd
Section " "
2002-10-08 18:06:22 +00:00
;Invisible section to display the Finish header & write the language to the registry
WriteRegStr HKCU " Software\${NAME} " " Installer Language " $LANGUAGE
2002-09-19 15:50:37 +00:00
!insertmacro MUI_FINISHHEADER SetPage
2002-09-02 19:50:25 +00:00
2002-08-29 10:31:13 +00:00
SectionEnd
;--------------------------------
;Installer Functions
Function .onInit
2002-10-17 21:53:26 +00:00
;Language selection
2002-10-10 20:26:17 +00:00
Push Tahoma
Push 8
Push ${LANG_ENGLISH}
2002-10-15 19:02:30 +00:00
Push " ${MUI_ENGLISH_LANGNAME} "
2002-10-10 20:26:17 +00:00
Push ${LANG_FRENCH}
2002-10-15 19:02:30 +00:00
Push " ${MUI_FRENCH_LANGNAME} "
2002-10-10 20:26:17 +00:00
Push ${LANG_GERMAN}
2002-10-15 19:02:30 +00:00
Push " ${MUI_GERMAN_LANGNAME} "
2002-10-23 17:32:35 +00:00
Push ${LANG_SPANISH}
Push " ${MUI_SPANISH_LANGNAME} "
2002-10-10 20:26:17 +00:00
Push ${LANG_DUTCH}
2002-10-15 19:02:30 +00:00
Push " ${MUI_DUTCH_LANGNAME} "
2002-10-11 13:20:03 +00:00
Push ${LANG_POLISH}
2002-10-15 19:02:30 +00:00
Push " ${MUI_POLISH_LANGNAME} "
2002-10-10 20:26:17 +00:00
Push ${LANG_GREEK}
2002-10-15 19:02:30 +00:00
Push " ${MUI_GREEK_LANGNAME} "
2002-10-23 17:32:35 +00:00
Push ${LANG_RUSSIAN}
Push " ${MUI_RUSSIAN_LANGNAME} "
Push ${LANG_PORTUGUESEBR}
Push " ${MUI_PORTUGUESEBR_LANGNAME} "
Push ${LANG_ARABIC}
Push " ${MUI_ARABIC_LANGNAME} "
2002-10-10 20:26:17 +00:00
Push ${LANG_TRADCHINESE}
2002-10-15 19:02:30 +00:00
Push " ${MUI_TRADCHINESE_LANGNAME} "
2002-10-10 20:26:17 +00:00
Push ${LANG_SIMPCHINESE}
2002-10-15 19:02:30 +00:00
Push " ${MUI_SIMPCHINESE_LANGNAME} "
2002-10-10 20:26:17 +00:00
2002-10-23 17:32:35 +00:00
Push 12F ;12 = number of languages, F = change font
2002-10-10 20:26:17 +00:00
LangDLL :: LangDialog " Installer Language " " Please select a language. "
2002-09-22 12:52:32 +00:00
2002-09-26 18:00:16 +00:00
Pop $LANGUAGE
StrCmp $LANGUAGE " cancel " 0 + 2
Abort
2002-08-29 10:31:13 +00:00
FunctionEnd
2002-10-17 21:53:26 +00:00
!insertmacro MUI_BASICFUNCTIONS
2002-08-29 10:31:13 +00:00
2002-10-17 21:53:26 +00:00
!insertmacro MUI_FUNCTION_DESCRIPTION_START
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $ ( DESC_SecCopyUI)
!insertmacro MUI_FUNCTION_DESCRIPTION_END
!insertmacro MUI_FUNCTION_ABORTWARNING
2002-08-29 10:31:13 +00:00
;--------------------------------
;Uninstaller Section
Section " Uninstall "
2002-10-17 21:53:26 +00:00
;ADD YOUR OWN STUFF HERE!
2002-08-29 10:31:13 +00:00
Delete " $INSTDIR \modern.exe "
Delete " $INSTDIR \Uninstall.exe "
RMDir " $INSTDIR "
2002-10-08 18:06:22 +00:00
2002-10-08 20:08:07 +00:00
DeleteRegValue HKCU " Software\${NAME} " " Installer Language "
2002-08-29 10:31:13 +00:00
2002-10-17 21:53:26 +00:00
;Display the Finish header
2002-09-19 15:50:37 +00:00
!insertmacro MUI_FINISHHEADER un.SetPage
2002-08-29 19:48:16 +00:00
2002-08-29 10:31:13 +00:00
SectionEnd
;--------------------------------
;Uninstaller Functions
2002-10-08 18:06:22 +00:00
Function un.onInit
ReadRegStr $LANGUAGE HKCU " Software\${NAME} " " Installer Language "
2002-08-29 10:31:13 +00:00
FunctionEnd
2002-10-17 21:53:26 +00:00
!insertmacro MUI_UNBASICFUNCTIONS