2002-11-01 20:45:53 +00:00
|
|
|
;NSIS Modern User Interface version 1.4
|
2002-10-26 17:39:56 +00:00
|
|
|
;Basic Macro System & MultiLanguage Example Script
|
2002-08-29 10:31:13 +00:00
|
|
|
;Written by Joost Verburg
|
|
|
|
|
2002-11-04 11:19:21 +00:00
|
|
|
!define MUI_PRODUCT "Test Software" ;Define your own software name here
|
|
|
|
!define MUI_VERSION "1.0" ;Define your own software version here
|
|
|
|
|
|
|
|
!define MUI_NAME "${MUI_PRODUCT} ${MUI_VERSION}" ;Installer name
|
2002-08-29 10:31:13 +00:00
|
|
|
|
2002-10-26 21:51:39 +00:00
|
|
|
!include "${NSISDIR}\Contrib\Modern UI\System.nsh"
|
2002-08-29 10:31:13 +00:00
|
|
|
|
|
|
|
;--------------------------------
|
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
|
2002-11-01 20:45:53 +00:00
|
|
|
!define MUI_COMPONENTSPAGE
|
|
|
|
!define MUI_DIRECTORYPAGE
|
2002-10-13 18:28:38 +00:00
|
|
|
!define MUI_ABORTWARNING
|
2002-10-08 09:29:03 +00:00
|
|
|
!define MUI_UNINSTALLER
|
|
|
|
|
|
|
|
;Languages
|
2002-11-04 16:40:35 +00:00
|
|
|
!insertmacro MUI_LANGUAGE "English"
|
|
|
|
!insertmacro MUI_LANGUAGE "French"
|
|
|
|
!insertmacro MUI_LANGUAGE "German"
|
|
|
|
!insertmacro MUI_LANGUAGE "Spanish"
|
|
|
|
!insertmacro MUI_LANGUAGE "SimpChinese"
|
|
|
|
!insertmacro MUI_LANGUAGE "TradChinese"
|
|
|
|
!insertmacro MUI_LANGUAGE "Japanese"
|
|
|
|
!insertmacro MUI_LANGUAGE "Italian"
|
|
|
|
!insertmacro MUI_LANGUAGE "Dutch"
|
|
|
|
!insertmacro MUI_LANGUAGE "Polish"
|
|
|
|
!insertmacro MUI_LANGUAGE "Greek"
|
|
|
|
!insertmacro MUI_LANGUAGE "Russian"
|
|
|
|
!insertmacro MUI_LANGUAGE "PortugueseBR"
|
|
|
|
!insertmacro MUI_LANGUAGE "Ukrainian"
|
2002-10-26 17:39:56 +00:00
|
|
|
|
|
|
|
OutFile "MultiLanguage.exe"
|
2002-09-02 19:50:25 +00:00
|
|
|
|
2002-10-26 17:39:56 +00:00
|
|
|
;License page
|
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-26 13:06:26 +00:00
|
|
|
LicenseData /LANG=${LANG_SIMPCHINESE} "${NSISDIR}\Contrib\Modern UI\License.txt"
|
|
|
|
LicenseData /LANG=${LANG_TRADCHINESE} "${NSISDIR}\Contrib\Modern UI\License.txt"
|
2002-11-01 20:45:53 +00:00
|
|
|
LicenseData /LANG=${LANG_JAPANESE} "${NSISDIR}\Contrib\Modern UI\License.txt"
|
2002-10-26 17:49:47 +00:00
|
|
|
LicenseData /LANG=${LANG_ITALIAN} "${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"
|
2002-10-24 21:32:34 +00:00
|
|
|
LicenseData /LANG=${LANG_PORTUGUESEBR} "${NSISDIR}\Contrib\Modern UI\License.txt"
|
2002-10-26 13:06:26 +00:00
|
|
|
LicenseData /LANG=${LANG_UKRAINIAN} "${NSISDIR}\Contrib\Modern UI\License.txt"
|
2002-08-29 10:31:13 +00:00
|
|
|
|
2002-10-26 17:39:56 +00:00
|
|
|
;Component-selection page
|
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-26 13:06:26 +00:00
|
|
|
LangString TITLE_SecCopyUI ${LANG_SIMPCHINESE} "modern.exe"
|
|
|
|
LangString TITLE_SecCopyUI ${LANG_TRADCHINESE} "modern.exe"
|
2002-11-01 20:45:53 +00:00
|
|
|
LangString TITLE_SecCopyUI ${LANG_JAPANESE} "modern.exe"
|
2002-10-26 17:49:47 +00:00
|
|
|
LangString TITLE_SecCopyUI ${LANG_ITALIAN} "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"
|
2002-10-26 13:06:26 +00:00
|
|
|
LangString TITLE_SecCopyUI ${LANG_UKRAINIAN} "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-26 13:06:26 +00:00
|
|
|
LangString DESC_SecCopyUI ${LANG_SIMPCHINESE} "modern.exe: Simplified Chinese description"
|
|
|
|
LangString DESC_SecCopyUI ${LANG_TRADCHINESE} "modern.exe: Traditional Chinese description"
|
2002-11-01 20:45:53 +00:00
|
|
|
LangString DESC_SecCopyUI ${LANG_JAPANESE} "modern.exe: Japanese description"
|
2002-10-26 17:49:47 +00:00
|
|
|
LangString DESC_SecCopyUI ${LANG_ITALIAN} "modern.exe: Italian 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"
|
2002-10-26 13:06:26 +00:00
|
|
|
LangString DESC_SecCopyUI ${LANG_UKRAINIAN} "modern.exe: Ukrainian description"
|
2002-10-17 21:53:26 +00:00
|
|
|
|
2002-10-26 17:39:56 +00:00
|
|
|
;Folder-selection page
|
2002-11-04 11:19:21 +00:00
|
|
|
InstallDir "$PROGRAMFILES\${MUI_PRODUCT}"
|
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;Modern UI System
|
|
|
|
|
|
|
|
!insertmacro MUI_SYSTEM
|
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-11-04 11:19:21 +00:00
|
|
|
;Invisible section to write the language to the registry
|
|
|
|
WriteRegStr HKCU "Software\${MUI_PRODUCT}" "Installer Language" $LANGUAGE
|
2002-10-08 18:06:22 +00:00
|
|
|
|
2002-08-29 10:31:13 +00:00
|
|
|
SectionEnd
|
2002-11-04 11:19:21 +00:00
|
|
|
|
|
|
|
!insertmacro MUI_SECTIONS_FINISHHEADER ;Insert this macro after the sections
|
2002-08-29 10:31:13 +00:00
|
|
|
|
|
|
|
;--------------------------------
|
|
|
|
;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-26 13:06:26 +00:00
|
|
|
Push ${LANG_TRADCHINESE}
|
|
|
|
Push "${MUI_TRADCHINESE_LANGNAME}"
|
|
|
|
Push ${LANG_SIMPCHINESE}
|
|
|
|
Push "${MUI_SIMPCHINESE_LANGNAME}"
|
2002-11-01 20:45:53 +00:00
|
|
|
Push ${LANG_JAPANESE}
|
|
|
|
Push "${MUI_JAPANESE_LANGNAME}"
|
2002-10-26 17:49:47 +00:00
|
|
|
Push ${LANG_ITALIAN}
|
|
|
|
Push "${MUI_ITALIAN_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}"
|
2002-10-26 13:06:26 +00:00
|
|
|
Push ${LANG_UKRAINIAN}
|
|
|
|
Push "${MUI_UKRAINIAN_LANGNAME}"
|
2002-10-10 20:26:17 +00:00
|
|
|
|
2002-11-01 20:45:53 +00:00
|
|
|
Push 14F ;14 = 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-11-03 13:21:09 +00:00
|
|
|
;--------------------------------
|
2002-11-04 11:19:21 +00:00
|
|
|
;Descriptions
|
2002-08-29 10:31:13 +00:00
|
|
|
|
2002-11-02 23:06:46 +00:00
|
|
|
!insertmacro MUI_FUNCTIONS_DESCRIPTION_START
|
2002-10-17 21:53:26 +00:00
|
|
|
!insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI)
|
2002-11-02 23:06:46 +00:00
|
|
|
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
|
2002-10-17 21:53:26 +00:00
|
|
|
|
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-11-04 11:19:21 +00:00
|
|
|
DeleteRegValue HKCU "Software\${MUI_PRODUCT}" "Installer Language"
|
2002-08-29 10:31:13 +00:00
|
|
|
|
2002-10-17 21:53:26 +00:00
|
|
|
;Display the Finish header
|
2002-10-26 12:25:02 +00:00
|
|
|
!insertmacro MUI_UNFINISHHEADER
|
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
|
2002-11-04 11:19:21 +00:00
|
|
|
ReadRegStr $LANGUAGE HKCU "Software\${MUI_PRODUCT}" "Installer Language"
|
2002-11-03 13:21:09 +00:00
|
|
|
FunctionEnd
|